Rss feed无法在PHP中运行

时间:2013-09-13 07:32:30

标签: php rss

在我的网页中,除rss Feed外,一切正常。加载了所有html代码和脚本。但是rss feed是空白的。我尝试了不同的格式,但没有一个正常。请帮忙。我在单独的文件中使用代码作为functions.php并在index.php中调用它

的functions.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>";
}

的index.php

<?php

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

  1. 在功能
  2. 中使用return代替echo
  3. 确保包含functions.php个文件
  4. 的functions.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;
    }
    

    的index.php

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