创建正则表达式以从字符串中删除跟踪相关的URL

时间:2016-08-22 10:36:06

标签: php regex

在我的工作应用程序中,我想从某些文本字符串中删除跟踪相关代码。此代码已从API发布,可以添加任何跟踪代码(例如,跟踪跟踪网址,javascript,facebook跟踪网址等) ..)

在插入数据库之前,我想从我的字符串中跳过这些URL,任何人都可以帮助我为它创建正则表达式模式

到目前为止,我已经尝试了

$pattern = "#(www\.|https?://)?[a-z0-9]+\.[a-z0-9]{2,4}\S*#i";
echo preg_replace($pattern, "", $data);

其中返回了我的网址,我想修改它以获取与跟踪器相关的网址,该网址可能会使用网址查询字符串中的任意关键字track进行检查。

1 个答案:

答案 0 :(得分:0)

我终于得到了堆栈Regular Expression to filter tracking parameters from URLs in HTML

的帮助

我的代码就像

一样
$pattern = '/(track(ing|er)=.*?)|(track("|_))/'; //Replace any texts containing word like track either in url or QS
$data = preg_replace($pattern, '', $data);

$pattern = '/(utm("|_)+([a-zA-Z]+)=.*?)/'; //Replace any texts followed by "utm_" with blank
$data = preg_replace($pattern, '', $data);

因此,它从网址中移除了来自网址track的字词,来自网址跟踪的网址utm_