preg_replace(php函数)

时间:2011-04-25 08:47:09

标签: php

如何使用preg_replace“返回”的值,如:

preg_replace($pattern, function('$1','$2'), $contents);

所以它将传递匹配而不是$ 1和$ 2作为字符串('$ 1','$ 2');

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);