PHP中preg_filter()和preg_replace()有何关键差异?

更新于
2026-09-30 13:32:57
1阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计673个文字,预计阅读时间需要3分钟。

PHP中preg_filter()和preg_replace()有何关键差异?

在PHP中,我们了解到正则表达式过滤函数有两个,分别是preg_filter()和preg_replace()。但不是每个人都清楚它们之间的区别在哪里。今天小编就带大家一起来了解一下。

PHP正则替换过滤函数:

+ preg_filter():用于搜索并替换匹配的字符串,返回替换后的字符串数组。+ preg_replace():用于搜索并替换匹配的字符串,返回替换后的字符串。

主要区别:

+ preg_filter()返回的是替换后的字符串数组,而preg_replace()返回的是替换后的字符串。+ preg_filter()可以指定替换规则,而preg_replace()只能替换匹配到的第一个字符串。

示例:

php// preg_filter()示例$pattern='/[a-z]/';$replacement='X';$text='Hello World!';$result=preg_filter($pattern, $replacement, $text);print_r($result); // 输出:Array ( [0]=> XXo XXld! )

// preg_replace()示例$pattern='/[a-z]/';$replacement='X';$text='Hello World!';$result=preg_replace($pattern, $replacement, $text);echo $result; // 输出:XXo XXld!

在php中,我们知道正则表达式过滤函数有两个,分别是preg_filter()与preg_replace(),但是不一定所有人都知道他们之间的区别在哪里。今天小编就带大家一起来了解一下。

PHP正则替换过滤函数

怎么说呢 正则替换过滤函数 跟先前我们说的替换函数很类似 ,就只有一点点的小区分 不知道大家发现没有!!

==preg_filter()==函数: 执行一个正则表达式搜索和替换

PHP中preg_filter()和preg_replace()有何关键差异?

通常情况下preg_filter()函数等价于preg_replace()函数

案例1代码如下:

$arr=array('1.jpg','2.txt','3.doc','4.exe','5.php'); $pattern='/\.jpg|\.txt/';$replacement=''; $result1=preg_replace($pattern, $replacement, $arr); $result2=preg_filter($pattern, $replacement, $arr); show($result2);

preg_filter()和preg_replace()的实际区别

案例2代码如下:

$pattern=array( "/\d+/", "/ccc/"); $replacement=array( '1024', 'PHP'); $string=array( '1234aaa', 'abbbccc', 'wampserver'); $result1=preg_replace($pattern, $replacement, $string); show($result1); $result2=preg_filter($pattern, $replacement, $string); show($result2);

所以区别如下:

preg_filter()只会返回发生替换过滤后的数组元素,而没有替换的数组元素没有返回

preg_replace() 返回的不仅是发生替换过滤后的数组元素,并且没有发生替换的元素也会保留下来并且返回!

其实大家只要一测试打印 出彼此的结果 就可以马上知道相互之间的区别了 !

推荐学习:php视频教程

以上就是详细介绍PHP中preg_filter()与preg_replace()的区别的详细内容,更多请关注自由互联其它相关文章!

本文共计673个文字,预计阅读时间需要3分钟。

PHP中preg_filter()和preg_replace()有何关键差异?

在PHP中,我们了解到正则表达式过滤函数有两个,分别是preg_filter()和preg_replace()。但不是每个人都清楚它们之间的区别在哪里。今天小编就带大家一起来了解一下。

PHP正则替换过滤函数:

+ preg_filter():用于搜索并替换匹配的字符串,返回替换后的字符串数组。+ preg_replace():用于搜索并替换匹配的字符串,返回替换后的字符串。

主要区别:

+ preg_filter()返回的是替换后的字符串数组,而preg_replace()返回的是替换后的字符串。+ preg_filter()可以指定替换规则,而preg_replace()只能替换匹配到的第一个字符串。

示例:

php// preg_filter()示例$pattern='/[a-z]/';$replacement='X';$text='Hello World!';$result=preg_filter($pattern, $replacement, $text);print_r($result); // 输出:Array ( [0]=> XXo XXld! )

// preg_replace()示例$pattern='/[a-z]/';$replacement='X';$text='Hello World!';$result=preg_replace($pattern, $replacement, $text);echo $result; // 输出:XXo XXld!

在php中,我们知道正则表达式过滤函数有两个,分别是preg_filter()与preg_replace(),但是不一定所有人都知道他们之间的区别在哪里。今天小编就带大家一起来了解一下。

PHP正则替换过滤函数

怎么说呢 正则替换过滤函数 跟先前我们说的替换函数很类似 ,就只有一点点的小区分 不知道大家发现没有!!

==preg_filter()==函数: 执行一个正则表达式搜索和替换

PHP中preg_filter()和preg_replace()有何关键差异?

通常情况下preg_filter()函数等价于preg_replace()函数

案例1代码如下:

$arr=array('1.jpg','2.txt','3.doc','4.exe','5.php'); $pattern='/\.jpg|\.txt/';$replacement=''; $result1=preg_replace($pattern, $replacement, $arr); $result2=preg_filter($pattern, $replacement, $arr); show($result2);

preg_filter()和preg_replace()的实际区别

案例2代码如下:

$pattern=array( "/\d+/", "/ccc/"); $replacement=array( '1024', 'PHP'); $string=array( '1234aaa', 'abbbccc', 'wampserver'); $result1=preg_replace($pattern, $replacement, $string); show($result1); $result2=preg_filter($pattern, $replacement, $string); show($result2);

所以区别如下:

preg_filter()只会返回发生替换过滤后的数组元素,而没有替换的数组元素没有返回

preg_replace() 返回的不仅是发生替换过滤后的数组元素,并且没有发生替换的元素也会保留下来并且返回!

其实大家只要一测试打印 出彼此的结果 就可以马上知道相互之间的区别了 !

推荐学习:php视频教程

以上就是详细介绍PHP中preg_filter()与preg_replace()的区别的详细内容,更多请关注自由互联其它相关文章!