为什么preg_replace返回null?

时间:2015-07-30 12:17:12

标签: php regex url get preg-replace

我有下一个代码: CODE from debug

或:

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

//return null

但是:

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

一切都好吗

2 个答案:

答案 0 :(得分:4)

逃离?。因为?是正则表达式中的特殊字符(就像一个可选的量词或非贪婪的量词)。您需要按顺序转义,以匹配文字?字符。

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

DEMO

答案 1 :(得分:1)

$pattern="/[&\?]page=1/";

请参阅此处&?

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

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