【问题标题】:Why preg_replace return null?为什么 preg_replace 返回 null?
【发布时间】:2015-10-21 19:11:06
【问题描述】:

我有下一个代码: CODE from debug

或:

$pattern="/?page=1/";
$url="/en/catalog/blouses.htm?page=1";
$temp = preg_replace ( $pattern, "" , $url);

//return null

但是有:

$pattern ="/&page=1/";

一切正常

【问题讨论】:

    标签: php regex url get preg-replace


    【解决方案1】:

    转义 ? 。因为? 是正则表达式中的一个特殊字符(作用类似于可选量词或非贪婪量词)。您需要转义该字符以匹配文字 ? 字符。

    $pattern='/\?page=1/';
    

    DEMO

    【讨论】:

      【解决方案2】:
      $pattern="/[&\?]page=1/";
      

      见这里&?

      在您的代码中搜索不存在的&

      $url="/en/catalog/blouses.htm?page=1";
      $temp = preg_replace ( $pattern, "" , $url);
      echo $temp;
      

      【讨论】:

        猜你喜欢
        • 2019-03-31
        • 2022-12-26
        • 2016-12-28
        • 2015-11-25
        • 2015-07-04
        • 2019-09-29
        • 2015-02-25
        • 2021-08-12
        • 2011-03-18
        相关资源
        最近更新 更多