2012-01-15 10 views
0

GoogleニュースRSSをPHPで解析して、コンテンツの実際のリンクを取得したいと考えています。Googleニュースの実際のリンクをPHPで取得

GoogleニュースRSSアイテムのリンクを次のようになります。

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

そして、どのように1を約行くだろう:私はちょうど実際のリンク、& 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 

URLの「必須ではない」部分を取り除き、実質的にhttp://news.google.comからすべてをターゲットにしますで終わり、& url =

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

私は少し正規表現を行うが、これは私の手の届かないところにある ...

おかげで、野郎!ここで

答えて

3

正規表現は、必ずしもここに最善のアプローチではありません。

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

ありがとう! URLの「必須ではない」部分を削除するにはどうすればよいでしょうか? – Tylerr

+0

実際には、私はフランシスの解決策が良いと思います:) – SteveK

+0

最後の行で '$ url'にあなたがしたいものがあります。あなたが望んでいないものを排除しない、あなたが望むものを手に入れ、残りを無視する... –

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; 
+0

ありがとうございます! URLの「必須ではない」部分を削除するにはどうすればよいでしょうか? – Tylerr

+0

これは私が実際に必要としているものです。今は実現しています... – Tylerr

関連する問題