【发布时间】:2017-08-06 14:39:31
【问题描述】:
我对 BBCodes 有疑问 - 此 preg_replace 无法按预期工作:
$message = preg_replace("/\[color=(\#[0-9A-F]{6}|[a-z]+)\](.*)\[\/color\]/Usi", "<span style=\"color:\\1\">\\2</span>", $message);
这可以正常工作:
[color=#ff0000]text text text text text[/color]
[color=#00ffff]texttexttext[/color]
结果:
但是如果有两个颜色标签一个接一个,就不能正常工作了:
[color=#ff0000][color=#00ffff]text text text text text[/color] [/color]
[color=#ff0000]text text text[color=#00ffff]text text text text text[/color] [/color]
结果:
【问题讨论】:
-
你看过PHP中现有的BBCode函数了吗? php.net/manual/en/ref.bbcode.php