如何使用值 「返回」 通過這樣的preg_replace:的preg_replace(PHP函數)
preg_replace($pattern, function('$1','$2'), $contents);
?
所以它會通過匹配而不是$ 1和$ 2作爲字符串('$ 1','$ 2');
如何使用值 「返回」 通過這樣的preg_replace:的preg_replace(PHP函數)
preg_replace($pattern, function('$1','$2'), $contents);
?
所以它會通過匹配而不是$ 1和$ 2作爲字符串('$ 1','$ 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);
如果它不是一個函數調用,你必須更好地解釋你想做的事。
$pattern = '/blabla/e'; //make sure to use the 'e' modifier
$result = preg_replace($pattern, "function('\\1', '\\2')", $contents);
附註:不要使用電子修飾詞,除非你絕對必須。 – Halcyon 2011-04-25 09:37:10