Php preg_replace中的If语句?

Php preg_replace中的If语句?,php,regex,Php,Regex,我目前正在使用这段代码,将BBCode Quote标记转换为HTML。正如您可能知道的,在大多数论坛上,报价并不需要报价来源。当没有指定报价来源时,我只想打印“报价” $string = preg_replace("/\[quote(|=(.*?))\]/is","<fieldset style=\"border:1px dashed #999999;\"><legend>$2</legend>",$string); $string=preg\u repla

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

$string = preg_replace("/\[quote(|=(.*?))\]/is","<fieldset style=\"border:1px dashed #999999;\"><legend>$2</legend>",$string);
$string=preg\u replace(“/\[quote(|=(.*)\]/is”、“$2”、$string);
似乎我不能使用带有$2引用的if语句。那么我的选择是什么?(或者我只是做错了什么…?)

请看一看。您可以传递一个回调,每次匹配都会调用该回调。在此回调中,您可以修改匹配项并将默认值设置为“Quote”。

请查看。您可以传递一个回调,每次匹配都会调用该回调。在此回调中,您将能够修改匹配项并将默认值设置为“Quote”