【问题标题】:Extract specific data from SimplePie get_content object从 SimplePie get_content 对象中提取特定数据
【发布时间】:2013-06-05 20:03:01
【问题描述】:

我有一个 RSS 提要,我试图通过 SimplePie(在 WordPress 中)从中提取数据。

我必须提取内容标签。它适用于<?php echo $item->get_content(); ?>。它抛出了所有这些东西(当然这只是一个条目,其他的结构相同):

<table><tr valign="top">
<td width="67">
<a href="http://www.anobii.com/books/Lapproccio_sistemico_al_governo_dellimpresa/9788813230944/014c5c45a7ddaab1ec/" style="border: 1px solid #333333">
<img src="http://image.anobii.com/anobi/image_book.php?type=3&amp;item_id=014c5c45a7ddaab1ec&amp;time=0">
</a>
</td><td style="margin-left: 10px;padding-left: 10px">[person name] put "[title]" onto shelf<br/></td></tr></table>

虽然我需要的只是 src="" 标签(图片网址)中的内容。我怎样才能只提取那个?

【问题讨论】:

    标签: php preg-replace extract str-replace simplepie


    【解决方案1】:

    您可以使用DOMDocument(最好的方法)来做到这一点:

    $doc = new DOMDocument();
    @$doc->loadHTML($html);
    $imgs = $doc->getElementsbyTagName('img');
    $res = $imgs->item(0)->getAttribute('src');
    
    print_r($res);
    

    使用正则表达式(不好的方式):

    if (preg_match('~\bsrc\s*=\s*["\']\K[^"\']*+~i', $html, $match))
        print_r($match);
    

    【讨论】:

    • 所以我应该打印 $item->get_content();先在某个文件上?
    • @MultiformeIngegno:不,只需将$html 替换为$item-&gt;get_content()
    • print_r($res);从底部开始获取第一个结果。我怎样才能让它从顶部开始?
    猜你喜欢
    • 2020-10-02
    • 1970-01-01
    • 2018-09-18
    • 1970-01-01
    • 2020-06-04
    • 1970-01-01
    • 2018-08-30
    • 2016-05-25
    • 2021-05-31
    相关资源
    最近更新 更多