【问题标题】:PHP: Remove url parameters on clickPHP:点击时删除 url 参数
【发布时间】:2014-05-08 00:18:55
【问题描述】:

我有一个网址,在最坏的情况下看起来像这样website.com/clothes/women/type/tshirts/brand/nike/color/red/size/s/price/0-29

这是通过单击将从website.com/clothes/women 开始过滤结果的链接创建的。问题是我怎样才能扭转它?我用X 在它附近显示所有点击的过滤器,所以当点击时,某个过滤器将被删除并刷新页面。如果我删除了颜色过滤器,/color/redcolor/red/ 必须从 url 中删除。

如何做到这一点?我尝试使用str_replace(),但没有成功。

只要输入,我就会找到方法。

谢谢。

【问题讨论】:

  • @meagar:实际上有什么区别?为什么比?type=tshirts&...差?
  • @meagar 我不知道你的意思,这是一个查询字符串,它只是用 .htaccess 格式化,所以它看起来不像 ?type=tshirts&brand=nike&... 你能建议一个更好的一个?
  • @C.Ovidiu 使用 POST 和会话数据和 cookie,就像地球上所有其他网站一样。
  • @Deryck:这实际上是一个糟糕的建议(并不是说它很愚蠢)。检查亚马逊和易趣
  • @zerkms 我看的不够仔细;我以为这只是key1/value1/key2/value2/key3/value3... 的任意系列,但你说得对,它看起来越来越具体。

标签: php url replace str-replace


【解决方案1】:

我认为str_replace() 应该可以工作:

function remove_filter($url, $type, $value) {
    return str_replace("/$type/$value", "", $url);
}

【讨论】:

    【解决方案2】:

    这不是str_replace 或正则表达式的工作。

    使用explode 将路径的组件放入一个数组中。操作数组。用join重新组合路径。

    【讨论】:

      猜你喜欢
      • 2010-12-19
      • 1970-01-01
      • 2011-09-23
      • 2018-12-01
      • 2021-04-02
      • 2013-03-24
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      相关资源
      最近更新 更多