Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正则表达式匹配,然后替换?_Php_Regex - Fatal编程技术网

Php 正则表达式匹配,然后替换?

Php 正则表达式匹配,然后替换?,php,regex,Php,Regex,假设我有这样的东西: &page=4 我想替换它并使其为空,这样它就不存在了 但那个页码可以是任何东西,66、98、17、2、109等等 目前,我有以下几点: $currentpage = str_replace("&page=", "", $currentpage); 但是我需要它来删除这个号码,我该怎么做 多谢各位 $currentpage = preg_replace("/&page=\d+/", "", $currentpage); 但如果你是自己创造这个,

假设我有这样的东西:

&page=4
我想替换它并使其为空,这样它就不存在了

但那个页码可以是任何东西,66、98、17、2、109等等

目前,我有以下几点:

$currentpage = str_replace("&page=", "", $currentpage);
但是我需要它来删除这个号码,我该怎么做

多谢各位

$currentpage = preg_replace("/&page=\d+/", "", $currentpage);
但如果你是自己创造这个,你应该做

$get = $_GET;

unset($get['page']);

echo http_build_query($get);

这将把所有GET参数输出为一个字符串。当您取消设置
页面
成员时,它显然不会出现:)

效果很好,如果&sort=lowest(删除这整件事),我该怎么做?因为您发布的页面似乎只适用于数字字符。我是否只使用w+而不是d+?@Kyle您可以将其更改为
&sort=[^&$]
。美元符号
[^&$]
没有意义。在character类中,它是一个字面上的美元符号。要获得与“not end of string”等效的功能,您必须执行以下操作:
(?!&$)
。。。我干脆不说了:)