如果声明在preg_replace内?

时间:2011-07-07 15:21:07

标签: php regex

我目前正在使用此代码,将BBCode Quote标记转换为HTML。您可能知道,在大多数论坛上都不需要报价来源。当没有指定报价源时,我想打印“报价”。

$string = preg_replace("/\[quote(|=(.*?))\]/is","<fieldset style=\"border:1px dashed #999999;\"><legend>$2</legend>",$string);

似乎我不能使用带有$ 2引用的if语句。那么我的替代方案是什么? (或者我只是做错了什么......?)

1 个答案:

答案 0 :(得分:1)

请查看preg_replace_callback。您可以传递为每个匹配调用的回调。在此回调中,您将能够修改匹配并将默认值设置为“引用”。