我的后端有一个所见即所得的编辑器,它正在掀起我写的第一个正则表达式.这是在
PHP4中,使用preg_replace().我正在捕获URI和链接文本.
@<a\shref=\"http[s]?://([^\"]*)\"[]>(.*)<\/a>@siU
客户希望所有外部链接在新窗口中打开,这是我用来查找所有(希望)外部链接的表达式,但保留内部,页面锚点链接等
我意识到如果用户在链接上选择粗体,那么wysiwyg编辑器还会添加style =“font-weight:bold”.我最近才开始学习正则表达式,所以我不确定如何解决这个问题.
我该怎么办?
这应该匹配好吧:
/<a\s+([^>]*)href="https?:\/\/([^"]*)"(.*?)>(.*?)<\/a>/
这里有用的是懒惰的比赛. *?它意味着它只会与它绝对需要的匹配,而不是常规匹配,这是贪婪的.
用这个文字来证明:
a b c d a b c d
这些正则表达式将有不同的结果:
/a.*c/ selects: "a b c d a b c" /a.*?c/ selects: "a b c"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。