如何使用preg_replace“返回”的值,如:
preg_replace($pattern, function('$1','$2'), $contents);
?
所以它将传递匹配而不是$ 1和$ 2作为字符串('$ 1','$ 2');
答案 0 :(得分:2)
如果function('$1','$2')
确实是函数调用,那么就不能这样做。它将在preg_replace
执行之前调用。在这种情况下,您可以使用 preg_replace_callback
:
function foo($matches) {
// $matches[1] is $1
// $matches[2] is $2
}
preg_replace_callback($pattern, 'foo', $contents);
如果它不是函数调用,则必须更好地解释您想要做什么。
答案 1 :(得分:1)
$pattern = '/blabla/e'; //make sure to use the 'e' modifier
$result = preg_replace($pattern, "function('\\1', '\\2')", $contents);