我正在编写一个时事通讯应用程序,我需要使可能出现在客户时事通讯中的用户定义链接发生变化,以便检测到的链接像
<a href="http://whateverclientsite.com/">blah</a>
变成
<a href="http://mysite.com/redirect.php?utm_source=Emails&utm_medium=MyNewsletterSubject&utm_campaign=MyNewsletterCampaign&eid=123123&mailid=234234&url=http://whateverclientsite.com/>blah</a>
我的redirect.php 将是一个带有一些谷歌分析代码的页面,该代码将触发(因此我可以跟踪新闻通讯生成的链接点击次数),然后将自身重定向到用户定义的url http://whateverclientsite.com。
我必须在 php 中而不是在客户端 javascript 中重写此链接,因为必须在发送时事通讯之前完成更改。
我在这里寻找的是进行 url 重写的代码,我已经在使用的谷歌东西。应该是一个相当简单的正则表达式操作,但我的正则表达式技能很烂。
如果我在任何答案出现之前让它工作,我会回帖。
PS:我还需要清除某些 url 和图像标签,以免它们被重写。例如,不应重写任何指向 mysite.com 的链接。
PS 整个时事通讯在我必须处理它时以 php 字符串的形式存在。我
$newsletter = rewriteurls($newsletter, $url_exceptions_array);
正在考虑的函数调用也是如此 - 所以我的问题是,我应该如何定义 rewriteurls()?