preg_replace
和 和有什么区别preg_filter
?在某些情况下使用其中一个而不是另一个有什么优势吗?我尝试阅读文档,但仍然不太明白有什么区别。请赐教。谢谢。
问问题
3934 次
2 回答
2
preg_filter
over的好处preg_replace
是你可以检查是否有任何东西被替换,因为preg_filter
如果没有被替换则返回 null ,而preg_replace
不管怎样都返回主题。
$subject = 'chips';
$pattern = '/chops/';
$replacement = 'flops';
if (is_null(preg_filter($pattern, $replacement, $subject)) { // true
// do something
}
echo preg_replace($pattern, $replacement, $subject); // 'chips'
于 2015-05-22T17:17:14.903 回答
1
preg_filter() 与 preg_replace() 相同,只是它只返回匹配的(可能转换的)主题。有关此函数如何工作的详细信息,请阅读 preg_replace() 文档。
来自:这里
所以如果签名是
preg_filter ( mixed $pattern , mixed $replacement ,
mixed $subject [, int $limit = -1 [, int &$count ]] )
它将$subject
参数“转换”(所有匹配项regex pattern
都是替换的)返回到一个数组中
于 2012-06-13T06:56:56.133 回答