SimplePie 可以从提要中抓取图像吗

2021-12-25 00:00:00 feed import rss php simplepie

我正在使用这个 simplepie,并且已将文件上传到我的主机.除了一件事外,一切似乎都运行良好.我从中获取提要的博客中有图像,当我使用 simplepie 查看提要时,图像不显示.当我使用 simplepie 查看博客时,有没有办法让图像显示出来?

I am using this simplepie and i have uploaded the files to my host. Everything seems to be working fine except one thing. The blog that i'm getting the feed from has images in it, and when i use the simplepie to view the feed, the images don't show up. Is there a way to get the images to show up when i view the blog with simplepie?

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

Okay i am sorry, i am new at this. I am just using the code straight from the website to try and view the blog. i will put the code at the bottom here. So yea like i said i'm just trying to get the images to show up that are on the blog i'm reading from. Everything shows up great except that.

--- 头信息---

<?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;  ?>

推荐答案

是的,您可以调用 get_content() 并将整个帖子或包含在提要中的帖子部分输出到屏幕上,所有包括 HTML 标签.如果你想拉出帖子中的第一张图片,你必须做更多的工作,这是我一直在做的.

Yes, you can call get_content() and the entire post or the portion of the post that is included in the feed will be outputted to the screen, all the HTML tags included. If you want to pull say the first image in the post, you have to do a little more work, here is what I've been doing.

$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->src 是 URL.我认为这样的功能将来可能会添加到 SimplePie 或作为 SimplePie 的附加组件,但同时,显示来自提要的项目的第一张图像需要四行代码.

That snippet from my current little project, uses simple_html_dom and another script I got off the Internet to resize images on the fly. If you just want to display the image not resize it at all $image->src is the URL. I think functionality like this may be added to SimplePie in the future or an add-on to SimplePie, but in the mean time, it is four lines of code to display the first image from an item from a feed.

相关文章