通过PHP从Google新闻RSS获取实际链接

时间:2012-01-15 22:46:50

标签: php rss

我想用PHP解析Google新闻RSS,以获取内容的实际链接。

Google新闻RSS项目链接如下所示:

http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNGkF58EwDE7aA742GfVP9aE8azmhg&url=http://www.reuters.com/article/2012/01/15/us-obama-mlk-idUSTRE80E0PD20120115

我只需要实际链接, & url = 之后的所有内容:

http://www.reuters.com/article/2012/01/15/us-obama-mlk-idUSTRE80E0PD20120115

如何消除网址中的“非必要”部分,实质上是针对以 http://news.google.com 开头的所有内容并以 & url =

结尾
http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNGkF58EwDE7aA742GfVP9aE8azmhg&url=

我做了一点正则表达式,但这是我无法实现的......

谢谢,伙计!

2 个答案:

答案 0 :(得分:3)

正则表达式不一定是最好的方法。

$query = parse_url($google_url, PHP_URL_QUERY);
parse_str($query, $parts);
$url = $parts['url'];

答案 1 :(得分:2)

这里你去:

$google_url = 'http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNGkF58EwDE7aA742GfVP9aE8azmhg&url=http://www.reuters.com/article/2012/01/15/us-obama-mlk-idUSTRE80E0PD20120115';
preg_match('/&url=([^&]+)/', $google_url, $matches);
$url = $matches[1];
echo $url;