在这里,我有我的正则表达式,它找到了 4chan 样式引用的所有实例(例如 >10、>59、>654564)并将其作为模式输出返回。我的问题是,是否可以插入我的模式输出...
\1
...进入 PHP 函数。
虽然这工作正常:
$a = preg_replace('`(>\d+)`i', '\1', $b);
我正在寻找的东西不是:
$a = preg_replace('`(>\d+)`i', '".getpost('\1')."', $b);
示例 [php >= 5.3.0](使用Closure):
$callback = function($match) {
return "{" . $match[1] . "}"; # do smth with match
};
$string = 'test1 >1 test2 >12 test3 >123 test4';
echo preg_replace_callback('~(>\d+)~i', $callback, $string);
将输出:
test1 {>1} test2 {>12} test3 {>123} test4
示例 [php < 5.3.0]:
function replaceCallback($match) {
return "{" . $match[1] . "}"; # do smth with match
};
$string = 'test1 >1 test2 >12 test3 >123 test4';
echo preg_replace_callback('~(>\d+)~i', 'replaceCallback', $string);