首页 > 解决方案 > PHP正则表达式,删除特定属性

问题描述

我有一个简单的网址:

http://store.com/maison-entretien/aspirateur-nettoyeur/tous-les-aspirateurs-nettoyeurs.html?amp%3Butm_medium=push&%3Butm_source=application&p=2&price=12-260

我想将 URL 更改为:

http://store.com/maison-entretien/aspirateur-nettoyeur/tous-les-aspirateurs-nettoyeurs.html?p=2&price=12-260

我开始用 preg_replace 解决它:

preg_replace('/(&|\?)utm(.+)=[^&]*&/', '$1', preg_replace('/(&|\?)utm(.+)=[^&]*$/', '', $url2))

但我没有得到我想要的结果。如果有人可以帮助我,我会很高兴,谢谢

标签: phpregex

解决方案


我用我的逻辑为你编写了代码。首先,我将 URL 分成两个主要 URL 并使用explode 进行查询。然后在查询中,我再次爆炸得到查询需要。在我得到所有要求之后,我构建了一个新的 URL。

<?php

  $url     = "http://store.com/maison-entretien/aspirateur-nettoyeur/tous-les-aspirateurs-nettoyeurs.html?amp%3Butm_medium=push&%3Butm_source=application&p=2&price=12-260";
  $url     = explode("?",$url);
  $query   = explode("&",$url[1]);
  $newUrl  = $url[0]."?".$query[2]."&".$query[3];

  print_r($newUrl);
  

推荐阅读