SimplePie可以从Feed中抓取图像

时间:2012-03-09 03:37:05

标签: php rss simplepie

我正在使用这个simplepie,我已将文件上传到我的主机。除了一件事,一切似乎都很好。我从中获取Feed的博客中包含图片,当我使用simplepie查看Feed时,图片不显示。当我用simplepie查看博客时,有没有办法让图像显示出来?

好的,对不起,我是新来的。我只是直接从网站上使用代码来尝试查看博客。我会把代码放在底部。所以,就像我说的那样,我只是想让图像显示在我正在阅读的博客上。除了那之外,一切都表现得很好。

---标题信息---

<?php

// Make sure SimplePie is included. You may need to change this to match the location of simplepie.inc.
require_once('simplepie.inc');

// We'll process this feed with all of the default options.
$feed = new SimplePie();

// Set the feed to process.
$feed->set_feed_url('http://wordpress.homickdesign.com/feed/');

// Run SimplePie.
$feed->init();

// This makes sure that the content is sent to the browser as text/html and the UTF-8 character set (since we didn't change it).
$feed->handle_content_type();

// Let's begin our XHTML webpage code.  The DOCTYPE is supposed to be the very first thing, so we'll keep it on the same line as the closing-PHP tag.
?>

---代码---

<h2><a href="<?php echo $feed->get_permalink(); ?>"><?php echo $feed->get_description(); ?></a><br />
      <span>Latest news from Robert Homick</span></h2>       

        <?php
$c=1;   
foreach ($feed->get_items() as $item):
if($c <= 3){
?>

        <p><a href="<?php echo $item->get_permalink(); ?>"><?php echo $item->get_title(); ?></a><br />
        <?php echo $item->get_description(); ?><br />
        <span>Posted on <?php echo $item->get_date('j F Y | g:i a'); ?></span><br />
        <?php $c++;?>


<?php } endforeach;  ?>

2 个答案:

答案 0 :(得分:5)

是的,您可以调用get_content(),并将整个帖子或Feed中包含的帖子部分输出到屏幕,包含所有HTML标签。如果你想在帖子中说出第一张图片,你需要做更多的工作,这就是我一直在做的事情。

$htmlDOM = new simple_html_dom();
$htmlDOM->load($item->get_content());
$image = $htmlDOM->find('img', 0); 
$html .= '<img src="thumbnail.php?file=' . $image->src . '&maxw=300&maxh=300" border="0" />';

来自我当前的小项目的片段,使用simple_html_dom和我从互联网上下载的另一个脚本来动态调整图像大小。如果你只是想显示图像而不是大小调整它的全部$ image-&gt; src是URL。我认为这样的功能可能会在未来添加到SimplePie或SimplePie的附加组件,但同时,它是四行代码来显示来自Feed中的项目的第一个图像。

答案 1 :(得分:1)

This tutorial将帮助您将图像嵌入简单的饼图输出中。