我想用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=
我做了一点正则表达式,但这是我无法实现的......
谢谢,伙计!
答案 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;