首页 >后端开发 >PHP问题 >php replace 正则替换方法

php replace 正则替换方法

藏色散人
藏色散人原创
2021-07-17 11:11:495923浏览

php replace函数用于执行一个正则表达式的搜索和替换,其使用语法是“mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject...”。

php replace 正则替换方法

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

php replace正则替换方法

preg_replace 函数执行一个正则表达式的搜索和替换。

语法

mixed 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。

实例

将 google 替换为 runoob

<?php
$string = &#39;google 123, 456&#39;;
$pattern = &#39;/(\w+) (\d+), (\d+)/i&#39;;
$replacement = &#39;runoob ${2},$3&#39;;
echo preg_replace($pattern, $replacement, $string);
?>

执行结果如下所示:

runoob 123,456

删除空格字符

<?php
$str = &#39;runo o   b&#39;;
$str = preg_replace(&#39;/\s+/&#39;, &#39;&#39;, $str);
// 将会改变为&#39;runoob&#39;
echo $str;
?>

执行结果如下所示:

runoob

使用基于数组索引的搜索替换

<?php
$string = &#39;The quick brown fox jumped over the lazy dog.&#39;;
$patterns = array();
$patterns[0] = &#39;/quick/&#39;;
$patterns[1] = &#39;/brown/&#39;;
$patterns[2] = &#39;/fox/&#39;;
$replacements = array();
$replacements[2] = &#39;bear&#39;;
$replacements[1] = &#39;black&#39;;
$replacements[0] = &#39;slow&#39;;
echo preg_replace($patterns, $replacements, $string);
?>

执行结果如下所示:

The bear black slow jumped over the lazy dog.

使用参数 count

<?php
$count = 0;
 
echo preg_replace(array(&#39;/\d/&#39;, &#39;/\s/&#39;), &#39;*&#39;, &#39;xp 4 to&#39;, -1 , $count);
echo $count; //3
?>

执行结果如下所示:

xp***to
3

推荐学习:《PHP视频教程

以上是php replace 正则替换方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn