1. 创建前端页面(HTML + JavaScript):
创建一个 HTML 页面,包含一个下拉框用于选择 RSS 源和一个容器用于显示 RSS 内容。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AJAX RSS Reader</title>
<script>
function loadRSS() {
var selectedFeed = document.getElementById("rssFeeds").value;
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("rssContent").innerHTML = this.responseText;
}
};
xhttp.open("GET", "fetch_rss.php?feed=" + selectedFeed, true);
xhttp.send();
}
</script>
</head>
<body>
<label for="rssFeeds">Select RSS Feed:</label>
<select id="rssFeeds" onchange="loadRSS()">
<option value="https://example.com/rss1.xml">RSS Feed 1</option>
<option value="https://example.com/rss2.xml">RSS Feed 2</option>
<!-- Add more RSS feed options as needed -->
</select>
<div id="rssContent"></div>
</body>
</html>
2. 创建服务器端 PHP 脚本:
创建一个 PHP 脚本,用于处理 AJAX 请求,获取选定 RSS 源的内容并返回给前端。
<!-- fetch_rss.php -->
<?php
$selectedFeed = $_GET["feed"];
if (filter_var($selectedFeed, FILTER_VALIDATE_URL)) {
$rss = simplexml_load_file($selectedFeed);
if ($rss !== false) {
echo "<h2>" . $rss->channel->title . "</h2>";
foreach ($rss->channel->item as $item) {
echo "<p><a href='" . $item->link . "'>" . $item->title . "</a></p>";
echo "<p>" . $item->description . "</p>";
echo "<hr>";
}
} else {
echo "Error loading RSS feed.";
}
} else {
echo "Invalid RSS feed URL.";
}
?>
3. 运行应用:
将 HTML 文件和 PHP 文件放置在支持 PHP 的 web 服务器上,通过浏览器访问 HTML 文件。当用户选择不同的 RSS 源时,JavaScript 将通过 AJAX 请求将选中的 RSS 源传递给 PHP 脚本,后者将解析该 RSS 源的内容并返回给前端,最终在页面上显示 RSS 内容。
请注意,在实际应用中,你可能需要处理更多的边界情况,例如处理无效的 RSS 源、错误处理、安全性考虑等。
转载请注明出处:http://www.pingtaimeng.com/article/detail/3650/PHP