簡體   English   中英

顯示來自Wordpress RSS提要的媒體文件

[英]Display media file from Wordpress RSS feed

我正在使用以下代碼從wordpress RSS提要中獲取數據。 但是我從提要中獲取“媒體文件”時遇到問題。

<?php
        $rss = new DOMDocument();
        $rss->load('http://www.ipa.co.uk/rss/jobs');
        $feed = array();
        foreach ($rss->getElementsByTagName('item') as $node) {
            $item = array ( 
                'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
                'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
                'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
                'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
                'image' => $node->getElementsByTagName('enclosure')->item(0)->getAttribute('url'),
                );
            array_push($feed, $item);
        }
        $limit = 20;
        for($x=0;$x<$limit;$x++) {
            $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
            $link = $feed[$x]['link'];
            $description = $feed[$x]['desc'];
            $date = date('l F d, Y', strtotime($feed[$x]['date']));?>
            <div class="col-md-4 job-item">
                <div class="job-item__inner">
                    <?php
                    echo '<h2 class="job-title"><a href="'.$link.'" title="'.$title.'">'.$title.'</a></h2>';
                    echo '<small><em>Posted on '.$date.'</em></small></p>';
                    echo '<p>'.$description.'</p>';
                    echo '<img src="'.$image.'"/>';?>
                </div>
            </div>
        <?php } ?>

我已經在SO上看到了這個答案 ,它幫助我添加了getElementsByTagName('enclosure')->item(0)->getAttribute('url') 但是,它不顯示任何img src。 我認為'附件'是正確的,因為如果將其更改為類似getElementsByTagName('media')->item(0)->getAttribute('url')則會出錯

問題必須是我定位的Feed區域錯誤。 但是我不確定要添加什么來顯示圖像。

使用PHP開發時,您絕對應該啟用NOTICES 這將導致您得到答案:您的提取代碼正確,但是在for循環中,您需要附加一行

$image = $feed[$x]['image'];

否則,變量$image在此上下文中未定義。


// edit:順便說一下,這兩個循環效率很低。 最好僅使用foreach循環和計數器。 一旦計數器到20, break;

暫無
暫無

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

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