2014-05-17 66 views
0

删除某些参数你好,我有一个查询,我需要从URL中移除正则表达式来从URL中

它看起来像&h=blablabla(其中blablabla可以是任何东西

如何使用正则表达式(或任何其他?方法)上述

我试图&h=*这是不工作

+0

你能澄清?网址是什么样的,你想做什么?显示你正在尝试做的一个或两个示例。 –

+0

http://www.example.org/about-all-of-us&h=blablabla或http://www.example.org/about-all-of-us&h=lalala。我只需要http://www.example.org/about-all-of-us并尝试删除&h = blablabla&&h = lalala。 –

+0

为什么使用正则表达式?使用'parse_str'将其解析为一个数组,然后删除参数,然后使用'http_build_query'将它重新组合。 – Barmar

回答

0

从你的问题我真的不能告诉你正在尝试做的,但也许这将帮助:

$url = "example.org/about-all-of-us&h=blablabla&j=parameter&k=moreparam"; 

$split_url = explode('&', $url); 

print_r($split_url); 

结果:

Array 
(
    [0] => example.org/about-all-of-us 
    [1] => h=blablabla 
    [2] => j=parameter 
    [3] => k=moreparam 
) 

或者,如果你只需要example.org/about-all-of-us,那么这样做:

$url = "example.org/about-all-of-us&h=blablabla&j=parameter&k=moreparam"; 

$url = substr($url, 0, strpos($url, '&')); 

echo $url; //example.org/about-all-of-us 
+0

感谢Will解释更多..我有一个插件,它可以删除像&h = blablabla和&h = lalala这样的参数,只要你指定完全匹配即可。 &h =随着其动态不断变化。认为可能有相同的正则表达式。 –

+0

@HelenM我还没有真正理解。我的答案中的第二个示例将删除* any和all *参数,而不管它们是什么。 –

+0

所以如果我只想删除参数(all&h =),这个工作吗? $ url = substr($ url,0,strpos($ url,'&h = *')); –