Rss feed在PHP中不起作用



在我的网页中,除了rss提要之外,一切正常。加载所有 html 代码和脚本。但是 rss 提要是空白的。我尝试了不同的格式,但没有一种有效。请帮忙。我将单独文件中的代码用作函数.php并在索引中调用它.php

函数.php

<?php
function parserSide($feedURL) {
    $rss = simplexml_load_file($feedURL);
    echo "<ul class='newsSide'>";
    $i = 0;
    foreach ($rss->channel->item as $feedItem) {
        $i++;
        echo "<li><a href='$feedItem->link' title='$feedItem->title'>" . $feedItem->title . "</a></li>";
        if($i >= 5) break;
    }
    echo "</ul>";
}

索引.php

<?php
require_once('functions.php');
parserSide("http://feeds.reuters.com/reuters/technologyNews"); ?>

看不到任何问题,除了您没有检查 simplexml_load_file 的返回值。失败时,函数将返回FALSE很可能是这种情况。或者,您的服务器禁用了远程文件访问,如下所示:simplexml_load_file不起作用?

  1. 在函数中使用return而不是echo
  2. 确保包含functions.php文件

函数.php

function parserSide($feedURL) {
    $rss = simplexml_load_file($feedURL);
    $output = "<ul class='newsSide'>";
    $i = 0;
    foreach ($rss->channel->item as $feedItem) {
        $i++;
        $output .= "<li><a href='$feedItem->link' title='$feedItem->title'>" . $feedItem->title . "</a></li>";
        if($i >= 5) break;
    }
    $output .= "</ul>";
    return $output;
}

索引.php

require_once('functions.php');
echo parserSide("http://feeds.reuters.com/reuters/technologyNews");

最新更新