正则表达式删除text + int

时间:2013-06-04 12:08:37

标签: php regex

我需要一个正则表达式来从字符串page=55&page=77&

中删除以下内容

字符串可以是例如:

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

结果应该是:

var=104&anothervar=10&name=stack

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

$result = preg_replace('/\bpage=\d+&/', '', $subject);

除非您想将\b更改为"var=123&subpage=456&name=stack",否则必须word boundary "var=123&subname=stack"

答案 2 :(得分:-1)

您应该使用preg_replace功能。

示例:

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

&page=\d+?

  • [&]?表示{1}个字符出现0或1。 (如果它是第一个参数&符号,在开始时没有放大器)
  • &表示\d+?
  • 之后至少有一个或多个号码

<强>输出:

=