让我们说我有一个谷歌新闻源,如下所示:https://news.google.com/news/feeds?pz=1&cf=all&ned=no_no&hl=no&q=%22something%22&output=atom&num=1
抓住标题,作者和链接会很容易,但我怎么会去说出内容的前200个字符呢?它充满了HTML,并与标题和作者混合在一起。
我可以在它上面使用strip_tags,但它仍然会很乱。
任何让google返回['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'];
它仍然无法正常工作,但这是因为Feed始终以不同的方式提供内容。有时,新闻文章本身的内容只是作者和图像描述等元数据。
当html不时发生变化时,html标签将其分解会导致一些问题。但我无法弄清楚用这种饲料做任何其他方式。
答案 0 :(得分:0)
您可以尝试在DOMDocument实例中加载HTML并提取所需的部分,或者像Goutte一样使用包装器,这样可以更轻松地提取所需的部分。