-4

我需要一个正则表达式从字符串中删除以下内容page=55&page=77&

例如,字符串可以是:

var=104&anothervar=10&page=14&name=stack

结果应该是:

var=104&anothervar=10&name=stack

用于 preg_replace 的适当表达式是什么?

4

3 回答 3

2

您可以使用parse_str然后重新组合它们以消除您不想要的参数。不需要正则表达式(再次)。

于 2013-06-04T12:14:50.600 回答
0
$result = preg_replace('/\bpage=\d+&/', '', $subject);

除非您想更改为,否则边界一词 是必需的。\b"var=123&subpage=456&name=stack""var=123&subname=stack"

于 2013-06-04T12:12:27.827 回答
-1

您应该使用preg_replace函数。

例子:

$str = 'var=104&anothervar=10&page=14&name=stack';
$str = preg_replace('/&?page=\d+&?/', '', $str);
echo $str;

&page=\d+?

  • [&]?表示&字符出现 0 或 1 次。(如果它是第一个参数&符号,一开始没有&符号)
  • \d+?表示后面至少有 1 个或多个数字=

输出:

var=104&anothervar=104&name=stack
于 2013-06-04T12:13:00.983 回答