当前位置 : IT培训网 > PHP开发 > php教程 > PHP实战教程之AJAX RSS 阅读器

PHP实战教程之AJAX RSS 阅读器

时间:2016-12-08 11:24:48  来源:php培训网  作者:郑州IT培训网  已有:名学员访问该课程
标签(Tag):   PHP实战教程(4)
今天,IT培训网小编要和大家分享的是PHP实战教程之AJAX RSS 阅读器,RSS 阅读器用于阅读 RSS Feed。每一个踏实努力的现在,都会化成骨子里的底气,不惧将来。

今天,IT培训网小编要和大家分享的是PHP实战教程之AJAX RSS 阅读器,RSS 阅读器用于阅读 RSS Feed。每一个踏实努力的现在,都会化成骨子里的底气,不惧将来。

AJAX RSS 阅读器

在下面的实例中,我们将演示一个 RSS 阅读器,通过它,来自 RSS 的内容在网页不进行刷新的情况下被载入:

选择一个 RSS-feed:

读取 RSS 数据

RSS-feed 数据列表...

实例解释 - HTML 页面

当用户在上面的下拉列表中选择某个 RSS-feed 时,会执行名为 "showRSS()" 的函数。该函数由 "onchange" 事件触发:

<html>

<head>

<meta charset="utf-8">

<title>IT培训网(cnitedu.cn)</title>

<script>

function showRSS(str)

{

if (str.length==0)

{

document.getElementById("rssOutput").innerHTML="";

return;

}

if (window.XMLHttpRequest)

{

// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码

xmlhttp=new XMLHttpRequest();

}

else

{

// IE6, IE5 浏览器执行代码

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.onreadystatechange=function()

{

if (xmlhttp.readyState==4 && xmlhttp.status==200)

{

document.getElementById("rssOutput").innerHTML=xmlhttp.responseText;

}

}

xmlhttp.open("GET","getrss.php?q="+str,true);

xmlhttp.send();

}

</script>

</head>

<body>

<form>

<select onchange="showRSS(this.value)">

<option value="">选择一个 RSS-feed:</option>

<option value="rss">读取 RSS 数据</option>

</select>

</form>

<br>

<div id="rssOutput">RSS-feed 数据列表...</div>

</body>

</html>

showRSS() 函数会执行以下步骤:

检查是否有 RSS-feed 被选择

创建 XMLHttpRequest 对象

创建在服务器响应就绪时执行的函数

向服务器上的文件发送请求

请注意添加到 URL 末端的参数(q)(包含下拉列表的内容)

PHP 文件

文件 rss_demo.xml。

上面这段通过 JavaScript 调用的服务器页面是名为 "getrss.php" 的 PHP 文件:

<?php

// rss 文件

$xml="rss_demo.xml";

$xmlDoc = new DOMDocument();

$xmlDoc->load($xml);

// 从 "<channel>" 中读取元素

$channel=$xmlDoc->getElementsByTagName('channel')->item(0);

$channel_title = $channel->getElementsByTagName('title')

->item(0)->childNodes->item(0)->nodeValue;

$channel_link = $channel->getElementsByTagName('link')

->item(0)->childNodes->item(0)->nodeValue;

$channel_desc = $channel->getElementsByTagName('description')

->item(0)->childNodes->item(0)->nodeValue;

// 输出 "<channel>" 中的元素

echo("<p><a href='" . $channel_link

. "'>" . $channel_title . "</a>");

echo("<br>");

echo($channel_desc . "</p>");

// 输出 "<item>" 中的元素

$x=$xmlDoc->getElementsByTagName('item');

for ($i=0; $i<=1; $i++) {

$item_title=$x->item($i)->getElementsByTagName('title')

->item(0)->childNodes->item(0)->nodeValue;

$item_link=$x->item($i)->getElementsByTagName('link')

->item(0)->childNodes->item(0)->nodeValue;

$item_desc=$x->item($i)->getElementsByTagName('description')

->item(0)->childNodes->item(0)->nodeValue;

echo ("<p><a href='" . $item_link

. "'>" . $item_title . "</a>");

echo ("<br>");

echo ($item_desc . "</p>");

}

?>

当 RSS feed 的请求从 JavaScript 发送到 PHP 文件时,将发生:

检查哪个 RSS feed 被选中

创建一个新的 XML DOM 对象

在 xml 变量中加载 RSS 文档

从 channel 元素中提取并输出元素

从 item 元素中提取并输出元素

IT培训网小编就先为大家分享到这里了,后续小编会继续为大家分享PHP实战教程。

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
------分隔线----------------------------
PHP 教程
1、PHP 基础
1.1 PHP 简介
1.2 PHP 安装
1.3 PHP 语法
1.4 PHP 变量
1.5 PHP echo/print
1.6 PHP 数据类型
1.7 PHP 常量
1.8 PHP 字符串
1.9 PHP 运算符
1.10 PHP If...Else
1.11 PHP Switch
1.12 PHP 数组
1.13 PHP 数组排序
1.14 PHP 超级全局变量
1.15 PHP While 循环
1.16 PHP For 循环
1.17 PHP 函数
1.18 PHP 魔术变量
1.19 PHP 命名空间
1.20 PHP 面向对象
2、PHP 表单
2.1 PHP 表单
2.2 PHP 表单验证
2.3 PHP 表单 - 必需字段
2.4 PHP 表单 - 验证邮件和URL
2.5 PHP 完整表单实例
2.6 PHP $_GET 变量
2.7 PHP $_POST 变量
3、PHP 高级教程
3.1 PHP 多维数组
3.2 PHP 日期
3.3 PHP 包含
3.4 PHP 文件
3.5 PHP 文件上传
3.6 PHP Cookie
3.7 PHP Session
3.8 PHP E-mail
3.9 PHP 安全 E-mail
3.10 PHP Error
3.11 PHP 过滤器
3.12 PHP 高级过滤器
3.13 PHP JSON
4、PHP 7 新特性
4.1 PHP 7 新特性
5、PHP 数据库
5.1 PHP MySQL 简介
5.2 PHP MySQL 连接
5.3 PHP MySQL 创建数据库
5.4 PHP MySQL 创建数据表
5.5 PHP MySQL 插入数据
5.6 PHP MySQL 插入多条数据
5.7 PHP MySQL 预处理语句
5.8 PHP MySQL 读取数据
5.9 PHP MySQL Where
5.10 PHP MySQL Order By
5.11 PHP MySQL Update
5.12 PHP MySQL Delete
5.13 PHP ODBC
6、PHP XML
6.1 XML Expat Parser
6.2 XML DOM
6.3 XML SimpleXML
7、PHP 与 AJAX
7.1 AJAX 简介
7.2 AJAX 与PHP
7.3 AJAX 数据库
7.4 AJAX XML
7.5 AJAX 实时搜索
7.6 AJAX RSS Reader
7.7 AJAX 投票