PHP中如何通过正则替换内容,方法是什么
php正则替换内容的方法:1、用preg_replace(),可执行正则表达式的搜索和替换,语法“preg_filter (正则式,替换值,数据)”;2、用preg_filter(),语法“preg_filter(正则式,替换值,数据)”。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
在php中,可以使用下面两个函数来实现正则替换内容
preg_replace():执行一个正则表达式的搜索和替换
preg_filter():执行一个正则表达式的搜索和替换
1、使用preg_replace()函数
preg_replace() 函数可以执行正则表达式的搜索和替换,是一个强大的字符串替换处理函数。语法格式:
preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int & $count ]] )
搜索 subject 中匹配 pattern 的部分, 以 replacement 进行替换。
参数说明:
$pattern: 要搜索的模式,可以是字符串或一个字符串数组。
$replacement: 用于替换的字符串或字符串数组。
$subject: 要搜索替换的目标字符串或字符串数组。
$limit: 可选,对于每个模式用于每个 subject 字符串的最大可替换次数。 默认是-1(无限制)。
$count: 可选,为替换执行的次数。
返回值
如果 subject 是一个数组, preg_replace() 返回一个数组, 其他情况下返回一个字符串。
如果匹配被查找到,替换后的 subject 被返回,其他情况下 返回没有改变的 subject。如果发生错误,返回 NULL。
示例1:将 hello 替换为 phpcn
?php $string = 'hello 123, 456'; $pattern = '/(\w+) (\d+), (\d+)/i'; $replacement = 'phpcn ${ 2} ,$3'; echo preg_replace($pattern, $replacement, $string); ?>
示例2:删除空格字符
?php header('content-type:text/html; charset=utf-8'); $str = '欢 迎 来 到 p h p 中 文 网'; $str = preg_replace('/\s+/', '', $str); // 将会改变为'欢迎来到php中文网' echo $str; ?>
2、使用preg_filter()函数
preg_filter() 函数也用于执行一个正则表达式的搜索和替换,等价于preg_replace() 函数;不同的是 preg_filter() 函数只返回匹配成功的结果,而 preg_replace() 返回所有结果,不管是否匹配成功。
示例:比较preg_filter() 和preg_replace()
?php header('content-type:text/html; charset=utf-8'); $subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4'); $pattern = array('/\d/', '/[a-z]/', '/[1a]/'); $replace = array('A:$0', 'B:$0', 'C:$0'); echo "preg_filter 返回值:"; var_dump(preg_filter($pattern, $replace, $subject)); echo "preg_replace 返回值:"; var_dump(preg_replace($pattern, $replace, $subject)); ?>
感谢各位的阅读,以上就是“PHP中如何通过正则替换内容,方法是什么”的内容了,通过以上内容的阐述,相信大家对PHP中如何通过正则替换内容,方法是什么已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注网络,网络将为大家推送更多相关知识点的文章。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: PHP中如何通过正则替换内容,方法是什么
本文地址: https://pptw.com/jishu/650790.html