使用preg_replace修剪PHP中的变量

时间:2009-09-23 00:34:39

标签: regex preg-replace

我想从$ _SERVER ['HTTP_REFERER']

中提取文字

让我们说

$ _ SERVER ['HTTP_REFERER'] = http://www.google.com/search?source=ig&hl=en&rlz=&q=something+i+am+looking+for&aq=f&oq=&aqi=

然后我希望$ query等于“某事+ i + am +寻找+为”。我想我可以使用pregreplace所以我可以说

$ query = preg_replace([some regex] ,, $ _ SERVER ['HTTP_REFERER']);

正则表达式应该表示“在'& q ='之后和'& aq'之前的任何事情”。我怎么能把它写成正则表达式?

1 个答案:

答案 0 :(得分:0)

听起来像是在使用php。请改用parse_url

$link = "http://www.google.com/search?source=ig&hl=en&rlz=&q=something+i+am+looking+for&aq=f&oq=&aqi=";
$url  = parse_url($link);
$query = $url['query'];
parse_str($query, $result);

echo $result['q'];