preg_filter
(PHP 5 >= 5.3.0)
preg_filter — 執行一個正則表達式搜索和替換
mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
preg_filter()等價於preg_replace() 除了它僅僅返回(可能經過轉化)與目標匹配的結果. 這個函數怎樣工作的更詳細信息請閱讀 preg_replace()文檔.
返回值
如果subject是一個數組, 返回一個數組, 其他情況返回一個字符串.
如果沒有找到匹配或者發生了錯誤, 當subject是數組 時返回一個空數組, 其他情況返回NULL.
范例
Example #1 比較preg_filter() 和preg_replace()的示例
復制代碼 代碼如下:
<?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));
?>
以上例程會輸出:
復制代碼 代碼如下:
preg_filter returns
Array
(
[0] => A:C:1
[1] => B:C:a
[2] => A:2
[3] => B:b
[4] => A:3
[7] => A:4
)
preg_replace returns
Array
(
[0] => A:C:1
[1] => B:C:a
[2] => A:2
[3] => B:b
[4] => A:3
[5] => A
[6] => B
[7] => A:4
)