由于RSS链接中存在与号,因此HTML验证失败

时间:2013-08-10 作者:Phantasmix

我使用Wordpress自己的rss。php从外部RSS提要中提取最后10项。Wordpress会自动将活动信息添加到链接中,如下所示:

http://domainname.com/postname?utm_source=rss&utm_medium=rss&utm_campaign=postname
由于使用了符号,该页无法验证。我想知道我是否可以在下面的代码中添加任何内容来解决它。

<小时>

<!-- if Blog Feed exists-->
<?php $blogfeed = get_post_meta($post->ID, \'blog_feed\', true);
    if($blogfeed) : ?>

<div id="slideshow">
<ul>                
    <?php
        include_once(ABSPATH.WPINC.\'/rss.php\'); // path to include script
        $feed = fetch_rss($blogfeed); // specify feed url
        $items = array_slice($feed->items, 0, 10); // specify first and last item
        ?>

        <?php if (!empty($items)) : ?>
            <?php foreach ($items as $item) : ?>
            <li class="feed-item">
                <h4><a href="<?php echo $item[\'link\']; ?>" target="_blank"><?php echo $item[\'title\']; ?></a></h4>
                <p><?php echo $item[\'atom_content\']; ?></p>
            </li>
        <?php endforeach; ?>

        <?php endif; ?>
</ul>
</div><!-- / #slideshow -->

<?php else : ?>

<?php endif; ?>

1 个回复
最合适的回答,由SO网友:Wyck 整理而成

您可以转义HTML,因此echo $item[\'link\']; 你可以这样写:

echo esc_html($item[\'link\']); // This is a WP function
//or 
echo htmlspecialchars($item[\'link\']); //PHP equivalent 
还需要注意的是,您的代码被贬值了,fetch_rss 已替换为fetch_feed.

http://codex.wordpress.org/Function_Reference/fetch_feed

另外,您还可以使用esc_attr 这与esc_html 在这种情况下。

结束

相关推荐

RSS2提要URL的WordPress永久链接%PostName%

我的一个客户正在用我为他们制作的WordPress网站开发智能手机应用程序。该网站是一家日报的在线版。所有的新闻都按不同的类别分类。因此,应用程序开发人员将类别提要与归档提要一起使用(这里的示例中为“使用类别归档”)。因此,在默认Permalink中,提要URL如下所示:http://domain/?m=YYYYMMDD&feed=rss2&cat=## 这对我们来说很好。现在出于多种原因,我们想切换到%postname% permalink。在我的研究中,我发现URL的变化如下