(PHP 4 >= 4.0.5, PHP 5)
preg_replace_callback -- 用回調函式執行正則表達式的搜尋和替換
說明
mixed preg_replace_callback ( mixed pattern, callback callback, mixed subject [, int limit] )
本函式的行為幾乎和 preg_replace() 一樣,除了不是提供一個 replacement 參數,而是指定一個 callback 函式。該函式將以目標字元串中的匹配數組作為輸入參數,並返回用於替換的字元串。
例子
<?php
// 此文本是用於 2002 年的,
// 現在想使其能用於 2003 年
$text = "April fools day is 04/01/2002\n";
$text.= "Last christmas was 12/24/2001\n";
// 回調函式
function next_year($matches) {
// 通常:$matches[0] 是完整的匹配項
// $matches[1] 是第一個括弧中的子模式的匹配項
// 以此類推
return $matches[1].($matches[2]+1);
}
echo preg_replace_callback(
"|(\d{2}/\d{2}/)(\d{4})|",
"next_year",
$text);
?>
結果為:
April fools day is 04/01/2003
Last christmas was 12/24/2002