BBCODE、preg_replace 和双引号
preg_replace('/\[quote\=(.*?);(.*?)\](.*?)\[\/quote\]/ms', '<blockquote>Posted by: \1 at \2.<br/>\3</blockquote>', $text);
这就是我用来替换 [quote=user;id]content[/quote]
bbcode 的内容。无论如何,只有在帖子中有引用的情况下它才能正常工作。
如果我得到:
[quote=user1;1] [quote=user0;0]some content here[/quote]
this is my reply to user0 post[/quote]
它将仅替换第一个引号,其他引号将不会被
替换。
我该如何解决这个问题?
preg_replace('/\[quote\=(.*?);(.*?)\](.*?)\[\/quote\]/ms', '<blockquote>Posted by: \1 at \2.<br/>\3</blockquote>', $text);
This is what I use to replace the [quote=user;id]content[/quote]
bbcode. Anyway, it works fine only, if there is one quote in post.
If I got:
[quote=user1;1] [quote=user0;0]some content here[/quote]
this is my reply to user0 post[/quote]
It'll replace only first quote, other will be just not replaced by the <blockquote>
.
How can I fix that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
经过测试、修复的版本
http://codepad.org/3PoxBeQ5
tested, repaired version
http://codepad.org/3PoxBeQ5