Получение актуальных ссылок из RSS Новостей Google с PHP - PullRequest
0 голосов
/ 16 января 2012

Я хочу проанализировать RSS новостей Google с PHP, чтобы получить реальные ссылки на контент.

Ссылка на RSS-канал новостей Google выглядит следующим образом:

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=

Я делаю небольшое регулярное выражение, но это вне моей досягаемости ...

Спасибо, ребята!

Ответы [ 2 ]

3 голосов
/ 16 января 2012

Regex не обязательно лучший подход здесь.

$query = parse_url($google_url, PHP_URL_QUERY);
parse_str($query, $parts);
$url = $parts['url'];
2 голосов
/ 16 января 2012

Вот, пожалуйста,

$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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...