preg_replace_callback()

preg_replace_callback 函数执行一个正则表达式搜索并且使用一个回调进行替换。

// 将文本中的年份增加一年.
$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]是第一个捕获子组的匹配
// 以此类推
// 这里的(\d{2}/\d{2}/)匹配到的字符串就是$matches[1]
// (\d{4})匹配到的字符串就是$matches[2]
    return $matches[1].($matches[2]+1);
}
echo preg_replace_callback( "|(\d{2}/\d{2}/)(\d{4})|", "next_year", $text);
 
也可以用这种写法:preg_replace_callback( 匹配规则, function($matches){//操作匹配到的字符串}, 字符串);

posted on 2021-01-08 09:37  沉淀物  阅读(1002)  评论(0编辑  收藏  举报

导航