使用PHP从Google新闻RSS获取实际链接

使用PHP从Google新闻RSS获取实际链接,php,rss,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=之后的所有内容

我想用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
我们如何消除URL中的“非必要”部分,本质上是针对从开始的所有内容http://news.google.com并以&url=结尾

http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNGkF58EwDE7aA742GfVP9aE8azmhg&url=
我做了一点正则表达式,但这是我够不着的

谢谢,伙计们

给你:

$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;
给你:

$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;

在这里,正则表达式不一定是最好的方法

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

在这里,正则表达式不一定是最好的方法

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

谢谢那么,我们将如何消除URL的“非必要”部分(编辑问题,以便更好地解释)?谢谢!那么,我们将如何消除URL的“非必要”部分(编辑问题,以便更好地解释)?谢谢!那么,我们如何消除URL中的“非必要”部分(编辑问题,以便更好地解释)?实际上,我认为Francis的解决方案更好:)您想要的是最后一行的
$URL
。你没有消除你不想要的,你得到了你想要的,而忽略了其余的…谢谢!那么,我们如何消除URL中的“非必要”部分(编辑问题,以便更好地解释)?实际上,我认为Francis的解决方案更好:)您想要的是最后一行的
$URL
。你没有消除你不想要的,你得到了你想要的,而忽略了其余的。。。。