php - 在 PHP 中使用 'simplexml_load_file()' 读取 RSS 源时仅显示项目符号列表

标签 php mysql rss simplexml

加载此脚本以读取 RSS 源时,我仅在页面上看到项目符号列表。我哪里做得不对?

<html>
<head>
<title>RSS Feed Test</title>
</head>
<body>
<?php
    function fetchFeeds($url){
    $feed = simplexml_load_file($url);
    echo "<ul>";
    foreach($feed->channel->item as $itementry){
    echo "<li><a href='$itementry->link' title='$itementry->title'.$itementry->title"."</a></li>";
    }
    echo "</ul>";
    }
    echo fetchFeeds("http://rss.cnn.com/rss/cnn_topstories.rss");
    ?>
</body>
</html>

最佳答案

首先,您没有调用正确的 rss 网址。这只是 RSS 提要的主页。您需要先选择一个。在此示例中,选择了热门故事。考虑这个例子:

<?php

// top stories RSS
$rss_url = 'http://rss.cnn.com/rss/edition.rss';
$xml = simplexml_load_file($rss_url);
$title = (string) $xml->channel->title; // typecast the title
$items = array();
for($i = 0, $size = count($xml->channel->item); $i < $size; $i++) {
    // also one way to extract is to convert it to this
    // each item will become an array
    $items[] = json_decode(json_encode($xml->channel->item[$i]), true);
}

?>

<!-- just plain foreach loop -->
<h1><?php echo $title; ?></h1>

<?php foreach($items as $key => $value): ?>
<ul>
    <li><?php echo $value['title']; ?></li>
    <li><a href="<?php echo $value['link']; ?>"><?php echo $value['link']; ?></a></li>
    <li><?php echo $value['description']; ?></li>
    <li><?php echo $value['pubDate']; ?></li>
</ul>
<br/>
<?php endforeach; ?>

Sample Output

关于php - 在 PHP 中使用 'simplexml_load_file()' 读取 RSS 源时仅显示项目符号列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24238762/

相关文章:

php/mysql 连接错误(带配置文件)

javascript - 在node js中将json插入到mysql表中

Java 帮助 - MySQL - SQLConnector "recurse infinitely"& 控制台打印无限

rss - RSS 的联合部分如何工作?

asp.net - 在 ASP 和 C# 中使用 RSS 提要

php - 链式选择问题

php - Nginx 与子位置

rss - 跟踪 RSS 订阅者的标准和可靠方法?

php mysqli 没有返回值

mysql - Magento sql 导入和自动递增重复错误