加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 正则表达式 – 匹配具有可选属性的所有锚点

发布时间:2020-12-13 17:57:44 所属栏目:PHP教程 来源:网络整理
导读:我的后端有一个所见即所得的编辑器,它正在掀起我写的第一个正则表达式.这是在 PHP4中,使用preg_replace().我正在捕获URI和链接文本. @ashref="http[s]?://([^"]*)"[](.*)/a@siU 客户希望所有外部链接在新窗口中打开,这是我用来查找所有(希望)外部链接的
我的后端有一个所见即所得的编辑器,它正在掀起我写的第一个正则表达式.这是在 PHP4中,使用preg_replace().我正在捕获URI和链接文本.
@<ashref="http[s]?://([^"]*)"[]>(.*)</a>@siU

客户希望所有外部链接在新窗口中打开,这是我用来查找所有(希望)外部链接的表达式,但保留内部,页面锚点链接等

我意识到如果用户在链接上选择粗体,那么wysiwyg编辑器还会添加style =“font-weight:bold”.我最近才开始学习正则表达式,所以我不确定如何解决这个问题.

我该怎么办?

这应该匹配好吧:
/<as+([^>]*)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"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读