【发布时间】:2010-03-15 22:42:45
【问题描述】:
我正在尝试编写 RegEx 规则来查找我网页上的所有 href HTML 链接,并向它们添加“rel="nofollow"”。
但是,我有一个必须排除的 URL 列表(例如,任何(通配符)内部链接(例如 pokerdiy.com) - 以便将包含我的域名的任何内部链接排除在外。我也希望能够在排除列表中指定确切的 URL - 例如 - http://www.example.com/link.aspx)
这是我目前没有工作的:
(]+)(href="http://.*?(?!(pokerdiy))[^>]+>)
如果您需要更多背景/信息,您可以在此处查看完整的线程和要求(跳过顶部直接进入正文): http://www.snapsis.com/Support/tabid/601/aff/9/aft/13117/afv/topic/afpgj/1/Default.aspx#14737
【问题讨论】:
-
好的,我已经阅读了附件并明白了这一点。但是,我的要求是有限的,使用 RegEx 进行解析是我唯一的选择。我很欣赏以下几点: * 这通常是个坏主意。 (来自编码恐怖)。所以......考虑到这一点 - 任何人都可以帮助我的 RegEx 代码吗?我可以解释为什么我以后只限于正则表达式解析,但我需要一个解决方案,不管它看起来多么糟糕。
-
这在这里并不真正适用,href 参数足够简单,可以被正则表达式解析,尤其是当它是所有可能的 href 的有限子集时,即只有页面中的 href!
标签: regex