(PHP 5 >= 5.3.0, PHP 7, PHP 8)
preg_filter — 执行一个正则表达式搜索和替换
preg_filter(
mixed $pattern
,
mixed $replacement
,
mixed $subject
,
int $limit
= -1,
int &$count
= ?
): mixed
preg_filter()等价于preg_replace()除了它仅仅返回(可能经过转化)与目标匹配的结果.
返回值
如果subject是一个数组,返回一个数组, 其他情况返回一个字符串。
如果没有找到匹配或者发生了错误,当subject是数组 时返回一个空数组,其他情况返回null。
<?php $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 returns\n"; print_r(preg_filter($pattern, $replace, $subject)); echo "preg_replace returns\n"; print_r(preg_replace($pattern, $replace, $subject)); ?>
效果: