我想后缀的每个链接在一个HTML文件与谷歌分析跟踪代码。整个超文本标记语言都包含在$content变量中。是否可以将此跟踪代码添加到除mailto以外的所有链接?
发布于 2012-09-17 14:19:27
不,你不能这样做--至少不能可靠地这样做。HTML是非常上下文的,这意味着你需要一个真正的解析器来完成这项工作。正则表达式可能会涵盖许多情况,但最终会出现误报(正则表达式匹配的内容不是真正的链接)和误报(真正的链接被遗漏)。请查看我的Pony评论中的链接,了解更全面的...嗯..。“解释”。
如果您确实需要遍历最终的超文本标记语言并对其进行后处理,那么最好的选择是找到一个合适的超文本标记语言解析器(必要时,DOMDocument
可能会这样做: IIRC,它可以同时解析XML和超文本标记语言),遍历DOM树并根据需要替换链接,然后将树呈现回一个字符串。
不过,理想情况下,您有一个支持HTML的模板系统(例如XSLT),在这种情况下,您可能可以在过程的早期截取DOM树,这意味着您可以跳过额外的解析和呈现步骤,直接转到DOM树。
https://stackoverflow.com/questions/12461119
复制