我正在寻找一种解决方案来替换卷曲响应到我网站的所有链接。
假设我的网站是:example.com,然后我向site.com发出CURL请求。 site.com有各种链接:
<a href="http://smthing.com">Something!</a>
<some html>......
<a href="http://google.com">Google!</a>
<more html>
<a href="#" onclick="window.location.href='http://somethingElse.com'">Something else</a>
我的目标是在所有链接前加上:example.com/?url={THE URL of THE LINK}(我的网站是AKA)。
我当前的解决方案使用regexp来“捕获”并处理所有链接。 这在大多数情况下都有效,但我不时遇到一个无法正常表达的无效HTML。 正则表达式还有另一个缺点:我无法捕获onclick =“”动作和不同的链接场景。
我听说过几种解决方案,例如重写和反向代理。他们中的任何一个都可以努力实现我的目标吗?
谢谢..
答案 0 :(得分:0)
你应该绝对能够使用正则表达式。但是,您的代码必须更加健壮才能处理内联脚本。分析大量的锚属性样本以确定所有可能的链接格式,超出/ href =“”/和/window.location.href/。 您还必须解析引用的脚本文件以查看事件处理程序所持有的内容。