簡體   English   中英

從內容獲取圖像:編碼標簽

[英]Getting images from content:encoded tag

我試圖在我的magento網站上顯示RSS feed,但我很難顯示該feed的圖像。 通過研究提要,我發現圖像位於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訪問圖像的源,以便將其顯示在Feed中?

更新:經過更多的研究,我嘗試使用preg_match像這樣:preg_match('/ <* img [^>] * src = [“ \\']?([[^” \\']] )/ i',$ item->內容,$ matches); echo $ matches [0]; 我得到了正確的圖像路徑,但是將其放置在一個循環中,因此每個圖像應該至少有2張圖像,但是我只得到1張。這是為什么?

已解決:通過將$ matches [0]更改為$ matches [1],我設法解決了我的問題。 我猜我在用0認為是數組匹配的索引。

為了從content:encoded標簽獲取圖像源,我使用了正則表達式(preg_match)。 這是我當前代碼的外觀:

<?php $channel = new Zend_Feed_Rss('newsfeedurl'); ?>
<?php foreach ($channel as $item): ?>
    <?php preg_match('/<*img[^>]*src *= *["\']?([^"\']*)/i', $item->content, $matches); ?>
    <?php if($i<2) { ?>
        <img src="<?php echo $matches[1]; ?>" title="<?php echo $item->title; ?>" height="63" width="95" /></a></div>
    <?php } else {} ?>
    <?php $i++; ?>
<?php endforeach; ?>

希望這對其他人有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM