php - 如何从 PHP 中的链接中删除跟踪代码

标签 php hyperlink affiliate

您好,我在 WordPress 中有一个表单,用户可以在其中提交指向产品的链接,但这些链接通常带有不必要的包袱,例如跟踪代码。我想在 WordPress 中创建一个过滤器并清理链接,以便它们只包含一个有效链接。如果可能的话,我想确认该链接仍然有效,或者确认该链接仍然有效的方法。

我想在链接中删除的主要内容是 utm_source 及其内容、utm_medium 及其内容等。除了干净的工作链接之外的所有内容。

例如,像这样的链接: https://www.serenaandlily.com/variationproduct?dwvar_m10055_size=Twin&dwvar_m10055_color=Chambray&pid=m10055&pdp=true&source=detail&utm_source=affiliate&utm_medium=affiliate&utm_campaign=pjdatafeed&publisherId=20648&clickId=2669312134#fo_c=745&fo_k=c0ebaf8359ca7853df8343e535533280&fo_s=pepperjam

会变成这样:

https://www.serenaandlily.com/variationproduct?dwvar_m10055_size=Twin&dwvar_m10055_color=Chambray&pid=m10055

如果有人能引导我朝着正确的方向前进,我将不胜感激。

谢谢!

最佳答案

你可以用explode做你想做的事, parse_strhttp_build_query .此代码使用不需要的参数数组来决定从查询字符串中删除什么:

$unwanted_params = array('utm_source', 'utm_medium', 'utm_campaign', 'clickId', 'publisherId', 'source', 'pdp', 'details', 'fo_k', 'fo_s');
$url = 'https://www.serenaandlily.com/variationproduct?dwvar_m10055_size=Twin&dwvar_m10055_color=Chambray&pid=m10055&pdp=true&source=detail&utm_source=affiliate&utm_medium=affiliate&utm_campaign=pjdatafeed&publisherId=20648&clickId=2669312134#fo_c=745&fo_k=c0ebaf8359ca7853df8343e535533280&fo_s=pepperjam';
list($path, $query_string) = explode('?', $url, 2);
// parse the query string
parse_str($query_string, $params);
// delete unwanted parameters
foreach ($unwanted_params as $p) unset($params[$p]);
// rebuild the query
$query_string = http_build_query($params);
// reassemble the URL
$url = $path . '?' . $query_string;
echo $url;

输出:

https://www.serenaandlily.com/variationproduct?dwvar_m10055_size=Twin&dwvar_m10055_color=Chambray&pid=m10055

Demo on 3v4l.org

关于php - 如何从 PHP 中的链接中删除跟踪代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55803782/

相关文章:

cocoa - 不可编辑的 NSTextView 可以使用 setAutomaticLinkDetectionEnabled 突出显示链接吗?

mysql - Rails : A way to check for duplicate item in DB? 联盟数据源

php - 计算多个运输订单(php/mysql)

php - Joomla 3 - 自定义组件 - 如何从管理 View 访问站点模型?

html - 如何在 SVG 图像文件中添加链接?

javascript - 如何正确读取自定义联属 URL 中的 Javascript 哈希值?

php - 根据 Woocommerce 中的特定用户角色显示菜单项

php - 检查用户是否在浏览器中点击后退按钮

php - 无法在我的主机中使用 PHP sem_get() 函数

c# - 富文本框链接带空格