从RSS源中删除图像

时间:2015-02-02 19:31:47

标签: php xml wordpress rss

我在WordPress中构建一个网站,我需要从另一个网站提取RSS提要以在页面上显示。我已将其拉入,成功限制了商品数量。我已经弄明白了如何截断描述以将其限制为一定数量的字符。

但是如果帖子中截断的图像搞砸了。我已经尝试了许多不同的方法来剥离“img'标签,我还没有成功。任何有关正确方法的指导都将非常感激。以下是博客部分的代码:

<?php 
//fetch rss feed 
$rss = fetch_feed('http://solar.greenstreetsolarpower.com/blog/rss.xml');
$rss->strip_htmltags('img');
// Checks that the object is created correctly
if ( ! is_wp_error( $rss ) ) : 
    //figure total items and limit to 3
    $maxitems = $rss->get_item_quantity( 3 ); 
    //build array of all times starting with first element
    $rss_items = $rss->get_items( 0, $maxitems );
else: 
    echo 'RSS Feed is broken';
endif; ?>

<section>
    <div class="blog-header">
        <h2>Power Blog</h2>
    </div>
    <div class="row">
        <?php foreach ( $rss_items as $item ) : 
        $excerpt = $item->get_description();
        $excerpt = substr($excerpt, 0, 120);
        ?>
        <div class="small-12 medium-4 columns blog-excerpt">
            <h3><?php echo esc_html( $item->get_title() ); ?></h3>
            <p style="font-size: .8em !important;"><?php echo $excerpt; ?></p>
            <a href="<?php echo esc_url( $item->get_permalink() ); ?>" title="<?php printf( __( 'Posted %s', 'my-text-domain' ), $item->get_date('j F Y | g:i a') ); ?>">Continue</a>
        </div>

        <?php endforeach; ?>
    </div>

</section>

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

请参阅:http://simplepie.org/wiki/reference/simplepie/strip_htmltags#description以获取您正在使用的方法的参考。

strip_htmltags方法期望标记在数组中传递,并且可能不知道如何处理单个字符串的参数。

将第4行更改为$rss->strip_htmltags($tags = array('img'));应该有效。

希望这有帮助!