这里我有我的正则表达式,它创建了4chan样式引用的所有实例(例如> 10,> 59,> 654564),并将其作为模式输出返回。我的问题是,是否可以插入我的模式输出 ...
\ 1
...进入PHP函数。
虽然这很好用:
$a = preg_replace('`(>\d+)`i', '\1', $b);
我正在寻找的东西不是:
$a = preg_replace('`(>\d+)`i', '".getpost('\1')."', $b);
答案 0 :(得分:2)
示例[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);