我用来提取Feed标题的脚本是:
<?php
function getFeed($feed_url) {
$content = file_get_contents($feed_url);
$x = new SimpleXmlElement($content);
echo "<ul>";
foreach($x->channel->item as $entry) {
echo "<li><a href='$entry->link' title='$entry->title'>" . $entry->title . "</a> </li>";
$i++;
if($i==5) break;
}
echo "</ul>";
}
?>
我想为每个标题/文章提取图像并将它们放在标题旁边。
漂浮部分很容易。我无法获得实际图像。我已经尝试过这样的标记:<img src="$entry->image" />
,但它不起作用。
我将如何解决这个问题?
答案 0 :(得分:2)
作为随机建议的答案:
然后从原始$内容中删除图片代码并输出您只留下描述文字
<?php
$content = $item['description'];
preg_match('/(<img[^>]+>)/i', $content, $matches);
echo $matches[0];
echo str_replace($matches[0],"",$content);
?>
答案 1 :(得分:1)
显示Feed内容时,$entry->link
和$entry->title
等变量可以正常运行,因为它们有效,存在且required elements in a standard RSS feed item。
要调用$entry->image
,需要使用源RSS并填充可选元素。
某些Feed可能包含该数据,但大多数不会。
或者,您可以编写自己的函数或方法来扫描description
元素的内容,并根据需要找到要包含的任何合适图像。