从Google URL中提取网站链接

时间:2015-01-23 13:28:11

标签: php string url

我想从Google网址中提取网站链接,我需要一种有效的方法来执行此操作, 我已经提取了这个,但我对此并不满意,

$googleURL = "http://www.google.ca/local_url?dq=food+Toronto,+ON&q=https://plus.google.com/110334461338830338847/about%3Fgl%3DCA%26hl%3Den-CA&ved=0CHAQlQU&sa=X&ei=HzrCVNX-JqSzigb-94D4CQ&s=ANYYN7nQx_FiR1PuowDmXBi1oyfkI2MImg";

我想要这个

https://plus.google.com/110334461338830338847/

我是通过以下方式完成的。

$first = current(explode("about", $googleURL)); // returns http://www.google.ca/local_url?dq=food+Toronto,+ON&q=https://plus.google.com/110334461338830338847/

然后,

$myLink = explode("&q=", $first);
echo $myLink[1]; // return my need => https://plus.google.com/110334461338830338847/

但googleURL中可能有两个“约”或“& q =”,这可能会导致问题。

我知道,这个googleURL会被重定向到我的需要,但我需要这个特定的链接。

1 个答案:

答案 0 :(得分:3)

我想解析它是不安全的,因为谷歌可以随时改变它的实现。

但是,如果你想从String url获取一个参数,这个问题很好地涵盖了它:

How to get parameters from a URL string?

$parts = parse_url($googleUrl);
parse_str($parts['query'], $query);
echo $query['q'];