1

私はRSSリーダー/フェッチャー/パーサー、またはあなたがそれを呼びたいものを作ろうとしています. フィードの URL はhttp://www.jutarnji.hr/rss

非常に複雑なRSSフィードであり、唯一の簡単な方法は配列をスローするxpathを使用することであり、内部の自動化によってその配列を抽出する方法がわからないため、RSSアイテムから画像を取得する以外はすべて機能するphp関数を作成しました。各フィード項目の横に画像を表示する foreach ループ 注: これは私の RSS フィードではありません。他の人の RSS フィードを取得しようとしています:

function parser($feedURL) {
$rss = simplexml_load_file($feedURL);
$rss->registerXPathNamespace('n', 'http://jutarnji.hr/rss');

$i = 0;
foreach ($rss->entry as $feedItem) {
    $i++;
    $myDate = ($feedItem->updated);
    $dateForm = explode(" ", $myDate);
    if (date("j.n.Y.", strtotime($myDate)) == date("j.n.Y.")) {
    $niceDate = date("H:i", strtotime($myDate));
    }
    else if (date("j.n.Y.", strtotime($myDate)) == date("j.n.Y.", strtotime("yesterday"))) {
    $niceDate = "jučer u " . date("H:i", strtotime($myDate));
    }
    else {
    $niceDate = date("j.n.Y.", strtotime($myDate)) . " u " . date("H:i", strtotime($myDate));  
    }
    $feedurl = ($feedItem->link->attributes()->href);

    $imgUrl = $rss->xpath("//n:link[@rel='enclosure']/@href");  //This throws an array which I cannot extract and use in this foreach loop as well

    $urltoimage = (string)$imgUrl[0][0][1]; // This was my try to atleast get a specific item but not working

    echo "<div class='box'>
        <h3><a target='_blank' href='$feedurl' title='$feedItem->title'>" . $feedItem->title . "</a></h3>
        <p><img src='$urltomage'/>" . $feedItem->description . "</p>
        <p class='belowpost'><img src='images/time.png'/>" . $niceDate. "<a class='cont' target='_blank' href='$feedurl' title='$feedItem->title'>Više</a></p></div>";
    if($i >= 20) break;
} }

問題はここのどこかにあります:

$imgUrl = $rss->xpath("//n:link[@rel='enclosure']/@href");  //This throws an array which I cannot extract and use in this foreach loop as well

    $urltoimage = (string)$imgUrl[0][0][1]; // This was my try to atleast get a specific item but not working

本が含まれていない限り、どんな助けも大歓迎です笑 事前に感謝します、これは私にとって本当に重要です

4

1 に答える 1