我正在尝试在我的 magento 网站中显示 RSS 提要,但在显示提要的图像时遇到了困难。研究提要,我发现图像位于 content:encoded 标记内,因此我无法使用 $item->image 之类的东西直接访问它。这是我当前的代码:
<?php $channel = new Zend_Feed_Rss('newsfeedurl'); ?>
<?php foreach ($channel as $item): ?>
<?php if($i<2) { ?>
<img src="<?php echo $item->image; ?>" title="<?php echo $item->title; ?>" height="63" width="95" />
<?php echo "image:".$item->content; ?>
<?php } else {} ?>
<?php $i++; ?>
<?php endforeach; ?>
$?>
我也尝试过使用 $item->content 但这会返回新闻源的全部内容。所以我的问题是,如何从 content:encoded 访问图像的源以便在我的提要上显示它?
更新:经过更多研究,我尝试使用 preg_match 像这样: preg_match('/<*img[^>]*src = ["\']?([^"\'] )/i', $item->内容,$matches); 回声 $matches[0]; 我得到了正确的图像路径,但我把它放在一个循环中,所以每个我应该至少有 2 张图像,但我只得到 1 张。这是为什么?
已解决:我设法通过将 $matches[0] 更改为 $matches[1] 来解决我的问题。我想我使用 0 认为它是数组匹配的索引。