gpt4 book ai didi

php - 需要一个好的正则表达式来将 URL 转换为链接,但保留现有链接

转载 作者:IT王子 更新时间:2023-10-28 23:57:17 27 4
gpt4 key购买 nike

我有大量用户提交的内容。它是 HTML,可能包含 URL。其中一些将是<a>已经是(如果用户很好的话),但有时用户很懒,只需输入 www.something.com 或充其量 http://www.something.com .

我找不到合适的正则表达式来捕获 URL,但忽略了紧挨双引号或“>”右侧的 URL。有人买了吗?

最佳答案

Jan Goyvaerts,RegexBuddy 的创造者, 有 written a response Jeff Atwood 的博客解决了 Jeff 遇到的问题并提供了一个很好的解决方案。

\b(?:(?:https?|ftp|file)://|www\.|ftp\.)[-A-Z0-9+&@#/%=~_|$?!:,.]*[A-Z0-9+&@#/%=~_|$]

为了忽略出现在 "或 > 旁边的匹配项,您可以将 (?<![">]) 添加到正则表达式的开头,这样您就可以得到

(?<![">])\b(?:(?:https?|ftp|file)://|www\.|ftp\.)[-A-Z0-9+&@#/%=~_|$?!:,.]*[A-Z0-9+&@#/%=~_|$]

这将匹配完整地址 ( http://.. .) 和以 www 开头的地址。或 FTP。 - 你运气不好,没有像 ars.userfriendly.org 这样的地址......

关于php - 需要一个好的正则表达式来将 URL 转换为链接,但保留现有链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/287144/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com