gpt4 book ai didi

php - 使用 DOM 在 PHP 中解析 RSS 提要

转载 作者:行者123 更新时间:2023-12-01 17:47:42 24 4
gpt4 key购买 nike

我正在尝试从 RSS 源创建项目数组。我试图通过回显第一个项目的标题来测试它是否有效。到目前为止我还没有成功......我真的很感激任何建议!

我有两个文件,一个“index.php”和一个“test.php”。

<!DOCTYPE html>
<html>
<head>
<link rel = "stylesheet" type= "text/css" href = "style.css">
</head>

<body>

<h1>TEST SLIDER</h1>

<p>First Title:<br>
<?php

include 'test.php';
$NPR_url = 'http://www.npr.org/rss/rss.php?id=1001';
$NPR = GetFeed($NPR_url);
echo $NPR[0]['title'];

?>
</p>

</body>
</html>

和“test.php”

<?php

function GetFeed($url){
$feed = new DOMDocument;
$feed->load($url);
$feed_array = array();

foreach($feed->getElementsByTagName('item') as $story){
$story_array = array (
'title' => $story->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $story->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $story->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $story->getElementsByTagName('pubDate')->item(0)->nodeValue
);

array_push($feed_array, $story_array);
}

return $feed_array;
}


?>

最佳答案

DOMDocument 解析后无法获取“ channel ”对象。下面是使用 simpleXML 的 GetFeed() 函数:

test.php

    <?php
function GetFeed($url){
$feed = simplexml_load_file($url);
$feed_array = array();
foreach($feed->channel->item as $story){
$story_array = array (
'title' => $story->title,
'desc' => $story->description,
'link' => $story->link,
'date' => $story->date
);

array_push($feed_array, $story_array);
}

return $feed_array;
}
?>

希望有帮助。您的index.php 将保持不变。

关于php - 使用 DOM 在 PHP 中解析 RSS 提要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18906366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com