PHP函数从查询字符串中删除键

时间:2010-12-21 10:48:31

标签: php regex

我有一个查询字符串,例如:

N 1 = V1&安培; N2 = v2和安培; N3 = V3

我只想要一个接受查询字符串和名称(键)的php函数,并从查询字符串中删除名称值对。

我发现的每个例子都使用正则表达式并假设该值将存在并且它不会为空,但在我的情况下(可能一般来说,我想知道)这也是一个有效的查询:< / p>

N 1 = V1&安培; N 2 =&安培; N3

我事先并不知道会有多少把钥匙。

我确信正则表达式是吃时间的怪物。最终,宇宙中的所有物质都将以正则表达式结束。

2 个答案:

答案 0 :(得分:11)

parse_str('n1=v1&n2=&n3', $gets);
unset($gets['n3']);
echo http_build_query($gets);

注意: unset($gets['n3']);只是一个展示案例

答案 1 :(得分:0)

function stripkey($input, $key) {

$parts= explode("&", $input); foreach($parts as $k=>$part) { if(strpos($part, "=") !== false) { $parts2= explode("=", $part); if($key == $parts2[0]){ unset($parts[$k]); } } } return join("&", $parts);

}