替换第三场比赛

时间:2012-02-09 04:08:23

标签: php regex

在这种模式中:

$pattern = '/(\s*)@(if|foreach)(\s*\(.*\))/';

如何用$ on(\ s *(。*))

替换每个#

之后将使用:

preg_replace($pattern, '$1<?php $2$3: ?>', $value);

1 个答案:

答案 0 :(得分:1)

您正在寻找preg_replace_callback

在那里,您可以定义一个返回替换的anonymous function,您可以在第3组执行附加任务,然后根据需要构建替换任务。

来自第二个链接中的示例

<?php
echo preg_replace_callback('~-([a-z])~', function ($match) {
    return strtoupper($match[1]);
}, 'hello-world');
// outputs helloWorld
?>

您可以看到您可以像这样访问群组3:$match[3]