【发布时间】:2009-08-18 21:56:33
【问题描述】:
我正在寻找一种正则表达式模式,它可以匹配 HTML 中未包装到“a”标签中的 url,以便进一步将它们包装到“a”标签中(即突出显示所有未突出显示的链接)。
输入是简单的 HTML,允许使用“a”、“b”、“i”、“br”、“p”“img”标签。所有其他 HTML 标签不应出现在输入中,但上述标签可以以任意组合出现。
因此,pattern 应该忽略所有属于现有 'a' 标签一部分的 url,并匹配所有其他链接,这些链接只是纯文本,没有包装到 'a' 标签中,因此没有突出显示,也不是超链接。如果模式能匹配以 http://、https:// 或 www. 开头并以 .net、.com 结尾的 url,那就太好了。如果 URL 不是以 http://、https:// 或 www 开头,则为 .org。
我尝试过类似 '(?!]+>)http://[a-zA-Z0-9._-]+(?!)' 之类的方法来匹配比我上面描述的更简单的情况,但似乎这个任务不是太明显了。
非常感谢您的帮助。
【问题讨论】: