对于一个愚蠢的 bbcode 解析器,我想将两个定义合二为一,我的原始定义是 preg_replace:
'#\[s\](.*?)\[/s\]#si', '<strike>\\1</strike>'
这行得通,我希望用户能够使用[s]
或[strike]
以该格式启动文本,所以我自然地添加了类似这样的东西,认为它会起作用:
'#\[(s|strike)\](.*?)\[/(s|strike)\]#si', '<strike>\\1</strike>'
不幸的是,这失败了,而不是你所期望的,[s]
and [strike]
(正确使用) make: and s
(我的降价是正确的,以显示它的真实外观结果,它显示 s 或罢工,不管里面有什么)strike
为什么它用标签名称代替内部文本?我在 s|strike 周围添加括号有问题吗?我可能做错了这一切..