【问题标题】:how to capture recource link using simplepie parser如何使用 simplepie 解析器捕获资源链接
【发布时间】:2014-05-24 02:17:19
【问题描述】:

我是 RSS 提要解析的新手,遇到了一些麻烦。我将如何使用 simplepie 来捕获以下资源?

<enc:enclosure resource="http://images.craigslist.org/00202_lQ0CCpDIPk0_300x300.jpg" type="image/jpeg"/>

【问题讨论】:

    标签: xml-parsing simplepie


    【解决方案1】:

    您将使用get_enclosures() 函数。

    $feed = new SimplePie();
    $feed->set_feed_url('http://simplepie.org/blog/feed/');
    $feed->init();
    $feed->handle_content_type();
    
    foreach ($feed->get_items() as $item)
    {
        foreach ($item->get_enclosures() as $enclosure)
        {
            echo $enclosure->embed();
        }
    }
    

    【讨论】:

    【解决方案2】:

    之前的响应者没有意识到 SimplePie 的工作原理。您不使用 get_enclosures() 因为 XML 未格式化为 <enclosure> ...

    相反,您可以这样做:

    require( 'autoloader.php' );
    $feed = new SimplePie();
    $feed->set_feed_url('https://denver.craigslist.org/search/msa?format=rss&query=left%20handed%20%7C%20lefthanded%20%7C%20lefty');
    $feed->init();
    $feed->handle_content_type();
    
    foreach ($feed->get_items() as $item) {
    
        $encs = $item->get_item_tags( 'http://purl.oclc.org/net/rss_2.0/enc#', 'enclosure' );
    
        if ( !isset( $encs ) )
            continue;
    
        foreach ( $encs as $enclosure){
    
            if ( !isset( $enclosure['attribs'] ) )
                continue;
    
            foreach ( $enclosure['attribs'] as $attr ) { 
                echo "\n" . $attr['resource'];
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      相关资源
      最近更新 更多