您的位置:首页 > 编程语言 > PHP开发

php 正则搜索和替换 preg_replace

2016-11-10 15:49 459 查看
preg_replace — 执行一个正则表达式的搜索和替换

方法说明:

preg_replace ( $pattern , $replacement , $subject , $limit , $count)


搜索subject中匹配pattern的部分, 以replacement进行替换。
$limit , $count 参数可有可无
limit : 每个模式在每个subject上进行替换的最大次数。默认是 -1(无限)。
count : 如果指定,将会被填充为完成的替换次数。


返回值 :

如果subject是一个数组, preg_replace()返回一个数组, 其他情况下返回一个字符串。

如果匹配被查找到,替换后的subject被返回,其他情况下 返回没有改变的 subject。如果发生错误,返回 NULL 。

实例1:

<?php
$PIWIK_API = 'filter_offset={offset}&period={period}&date={date}';

$patterns = array(
'/{offset}/',
'/{period}/',
'/{date}/'
);

$replacements = array(
33,
'day',
'216-11-11'
);
$url = preg_replace($patterns, $replacements, $PIWIK_API);

//结果: $url = "filter_offset=33&period=day&date=216-11-11"


实例2:

<?php
$PIWIK_API = array(
'filter_offset' => '{offset}',
'period' => '{period}',
'date' => '{date}'
);

$patterns = array(
'/{offset}/',
'/{period}/',
'/{date}/'
);

$replacements = array(
33,
'day',
'216-11-11'
);
$url = preg_replace($patterns, $replacements, $PIWIK_API);

//结果:
/*
$url = array(3) {
["filter_offset"]=>
string(2) "33"
["period"]=>
string(3) "day"
["date"]=>
string(9) "216-11-11"
}
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息