【发布时间】:2012-03-22 23:52:51
【问题描述】:
我的正则表达式有点问题
我已经为我的网站制作了一个自定义 BBcode,但我也希望解析 URL。
我正在使用 preg_replace,这是用于识别 URL 的模式:
/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/is
这很好用,但是如果 URL 在 [img][/img] 块内,上述模式也会将其拾取并产生如下结果:
//[img]http://url.com/toimg.jeg[/img] will produce this result:
<img src="<a href="http://url.com/toimg.jeg" target="_blank">/>
//When it should produce:
<img src="http://url.com/toimg.jeg"/>
我试过用这个:
/([^"][\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/][^"])/is
没有运气。
任何帮助将不胜感激。
编辑: 有关解决方案,请参阅关于 stema 答案的第二条评论。
【问题讨论】:
标签: php html regex preg-replace url-parsing