2013-02-18 3 views
1

Так что позволяет говорить у меня есть канал новостей Google, как это: https://news.google.com/news/feeds?pz=1&cf=all&ned=no_no&hl=no&q=%22something%22&output=atom&num=1Google содержание лента новостей

Схватив название, автора и ссылку было бы легко, но как бы я идти вокруг получения говорят первые 200 символов из содержание? его полный html, и смешался с заголовком и автором.

Я мог бы использовать strip_tags на нем, но это все равно будет беспорядок.

Любой способ сделать google return ['description'] возможно?

или есть, возможно, какие-либо другие хорошие каналы новостей, которые дают мне контент таким образом, который легче управлять?

[править]

Обновленная информация о том, как я в конечном итоге делает это.

$news = @simplexml_load_string(file_get_contents('https://news.google.com/news/feeds?pz=1&cf=all&ned=no_no&hl=no&q=%22molde+fotballklubb%22+OR+%22tornekrattet%22+OR+%22mfk%22+OR+%22oddmund+bjerkeset%22+-%22moss%22&output=atom&num=1'), 'SimpleXMLElement', LIBXML_NOCDATA); 

     $data = get_object_vars($news->{'entry'}); 
     $test = explode('<font size="-1">', $data['content']); 
     $link = get_object_vars($data['link']); 

     $return['title']  = strip_tags($test[0]); 
     $return['author']  = strip_tags($test[1]); 
     $return['description'] = strip_tags($test[2]); 
     $return['link']   = $link['@attributes']['href']; 

Он по-прежнему не работает должным образом, но это потому, что канал дает мне контент по-разному. Иногда содержание самой статьи новостей будет просто метаданные, такие как авторы и описания изображений.

И распад его по тегам html, когда html время от времени меняются, вызывает некоторые проблемы. Но я не могу понять, как это сделать с этим фидом.

+0

возможно дубликат [Получение выписки из HTML в PHP] (http://stackoverflow.com/questions/1771421/getting-an-excerpt-from-html-in- php). Сначала используйте поиск, это только одна из многих возможностей. Все в порядке спросить свой вопрос, однако, пожалуйста, проясните, что вы пробовали до сих пор, ссылаетесь на связанные вопросы, объясните, что не сработало для вас (например, 'strip_tags' не то, что вы ищете) и что вы «Ищите вместо этого и почему это невозможно для вас - спасибо! (вы получите гораздо лучшие ответы, поверьте) – hakre

+0

'strip_tags' был именно тем, что я искал, чтобы избавиться от html-тегов. Но, очевидно, не для остальных проблем (которые я никогда не говорил, что это будет). – mistenkt

+0

Просто видя, что вы редактировали свой вопрос. Вместо этого добавьте свое решение в качестве ответа ниже. Это также позволит вам принять его позже и пометить вопрос как решенный. Вот как это работает - и это прекрасно принято;) – hakre

ответ

0

Вы можете попробовать загрузить HTML-код в экземпляр DOMDocument и извлечь нужные вам части или использовать для этого оболочку, такую ​​как Goutte, что значительно облегчает извлечение необходимых вам частей.

http://php.net/manual/en/class.domdocument.php

https://github.com/fabpot/Goutte

Смежные вопросы