admin 发表于 2023-2-16 18:54:45

PHP 实例 - AJAX RSS 阅读器

<div id="article_content" class="article_content clearfix">
      <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/kdoc_html_views-1a98987dfd.css">
      <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-6e43165c0a.css">
                <div id="content_views" class="htmledit_views">
                  <p>SS 阅读器用于阅读 RSS Feed。</p>
<hr>
<h2>AJAX RSS 阅读器</h2>
<p>在下面的实例中&#xff0c;我们将演示一个 RSS 阅读器&#xff0c;通过它&#xff0c;来自 RSS 的内容在网页不进行刷新的情况下被载入&#xff1a;</p>
<p> 选择一个 RSS-feed: 读取 RSS 数据 </p>
<p></p>
<p><ahref="http://www.runoob.com/">菜鸟教程</a><br> 学的不仅技术&#xff0c;更是梦想&#xff01;&#xff01;&#xff01;</p>
<p><ahref="http://www.runoob.com/rss/rss-tutorial.html">RSS 教程</a><br> 通过使用 RSS&#xff0c;您可以有选择地浏览您感兴趣的以及与您的工作相关的新闻。</p>
<p><ahref="http://www.runoob.com/xml/xml-tutorial.html">XML 教程</a><br> XML 指可扩展标记语言&#xff08;eXtensible Markup Language&#xff09;。</p>
<hr>
<h2>实例解释 - HTML 页面</h2>
<p>当用户在上面的下拉列表中选择某个 RSS-feed 时&#xff0c;会执行名为 &#34;showRSS()&#34; 的函数。该函数由 &#34;onchange&#34; 事件触发&#xff1a;</p>
<h2>实例</h2>
<p><html> <head> <meta charset&#61;&#34;utf-8&#34;> <title>菜鸟教程(runoob.com)</title> <script> function showRSS(str) { if (str.length&#61;&#61;0) { document.getElementById(&#34;rssOutput&#34;).innerHTML&#61;&#34;&#34;; return; } if (window.XMLHttpRequest) { // IE7&#43;, Firefox, Chrome, Opera, Safari 浏览器执行代码 xmlhttp&#61;new XMLHttpRequest(); } else { // IE6, IE5 浏览器执行代码 xmlhttp&#61;new ActiveXObject(&#34;Microsoft.XMLHTTP&#34;); } xmlhttp.onreadystatechange&#61;function() { if (xmlhttp.readyState&#61;&#61;4 && xmlhttp.status&#61;&#61;200) { document.getElementById(&#34;rssOutput&#34;).innerHTML&#61;xmlhttp.responseText; } } xmlhttp.open(&#34;GET&#34;,&#34;getrss.php?q&#61;&#34;&#43;str,true); xmlhttp.send(); } </script> </head> <body> <form> <select οnchange&#61;&#34;showRSS(this.value)&#34;> <option value&#61;&#34;&#34;>选择一个 RSS-feed:</option> <option value&#61;&#34;rss&#34;>读取 RSS 数据</option> </select> </form> <br> <div id&#61;&#34;rssOutput&#34;>RSS-feed 数据列表...</div> </body> </html></p>
<p>showRSS() 函数会执行以下步骤&#xff1a;</p>
<ul><li>检查是否有 RSS-feed 被选择</li><li>创建 XMLHttpRequest 对象</li><li>创建在服务器响应就绪时执行的函数</li><li>向服务器上的文件发送请求</li><li>请注意添加到 URL 末端的参数&#xff08;q&#xff09;&#xff08;包含下拉列表的内容&#xff09;</li></ul>
<hr>
<h2>PHP 文件</h2>
<p>文件 <ahref="https://www.runoob.com/try/demo_source/rss_demo.xml">rss_demo.xml</a>。</p>
<p>上面这段通过 JavaScript 调用的服务器页面是名为 &#34;getrss.php&#34; 的 PHP 文件&#xff1a;</p>
<h2>实例</h2>
<p><?php // rss 文件 $xml&#61;&#34;rss_demo.xml&#34;; $xmlDoc &#61; new DOMDocument(); $xmlDoc->load($xml); // 从 &#34;<channel>&#34; 中读取元素 $channel&#61;$xmlDoc->getElementsByTagName('channel')->item(0); $channel_title &#61; $channel->getElementsByTagName('title') ->item(0)->childNodes->item(0)->nodeValue; $channel_link &#61; $channel->getElementsByTagName('link') ->item(0)->childNodes->item(0)->nodeValue; $channel_desc &#61; $channel->getElementsByTagName('description') ->item(0)->childNodes->item(0)->nodeValue; // 输出 &#34;<channel>&#34; 中的元素 echo(&#34;<p><a href&#61;'&#34; . $channel_link . &#34;'>&#34; . $channel_title . &#34;</a>&#34;); echo(&#34;<br>&#34;); echo($channel_desc . &#34;</p>&#34;); // 输出 &#34;<item>&#34; 中的元素 $x&#61;$xmlDoc->getElementsByTagName('item'); for ($i&#61;0; $i<&#61;1; $i&#43;&#43;) { $item_title&#61;$x->item($i)->getElementsByTagName('title') ->item(0)->childNodes->item(0)->nodeValue; $item_link&#61;$x->item($i)->getElementsByTagName('link') ->item(0)->childNodes->item(0)->nodeValue; $item_desc&#61;$x->item($i)->getElementsByTagName('description') ->item(0)->childNodes->item(0)->nodeValue; echo (&#34;<p><a href&#61;'&#34; . $item_link . &#34;'>&#34; . $item_title . &#34;</a>&#34;); echo (&#34;<br>&#34;); echo ($item_desc . &#34;</p>&#34;); } ?></p>
<p>当 RSS feed 的请求从 JavaScript 发送到 PHP 文件时&#xff0c;将发生&#xff1a;</p>
<ul><li>检查哪个 RSS feed 被选中</li><li>创建一个新的 XML DOM 对象</li><li>在 xml 变量中加载 RSS 文档</li><li>从 channel 元素中提取并输出元素</li><li>从 item 元素中提取并输出元素</li></ul>
                </div>
      </div>
      <div id="treeSkill"></div>
页: [1]
查看完整版本: PHP 实例 - AJAX RSS 阅读器