Mail-Regex与HTML表单元素中的地址不匹配

时间:2012-08-27 08:59:02

标签: html regex

使用Regex,我需要在完全呈现的HTML页面中查找并替换所有mailaddresses,因为我想要SPAM保护所有这些。确切地说,我希望除了它们之外的所有地址都在公式元素中(因为如果用户输入的验证失败,我仍然希望显示插入的mailaddress而不是替换的地址)。

要查找或编写正则表达式来简单搜索mailaddresses不是问题。问题是将其排除在公式元素之外。有没有人建议如何解决这个问题?这在Regex中是否可行?

一些例子: 我想匹配“......我的内容,mail @mail.com,更多内容......” 但我不想匹配:“...你的邮件:mail@mail.com ......”

我知道解析HTML并简单地跳过表单元素会更好,但性能很重要,正如我之前所说,每次调用网站时都会执行此任务...

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这可能是不可能的。请参阅:RegEx match open tags except XHTML self-contained tags开头。第二个正则表达式并没有做得好“不”。 (一些正则表达式支持它,有些不支持,但所有人都很慢。)也许在正则表达式比我更好的人可能能够帮助你,但我怀疑这样做是不可能的。