多数大学生出来选择的工作和专业无关
首页 > 专业知识

如何正确实现PHP获取博客数据

时间:2018-04-19 18:14:51 [来源]:郑州PHP培训学校

   如何正确实现PHP获取博客数据

  PHP获取博客数据对于一个刚刚学习PHP语言的朋友来说,实现起来还是比较困难的。希望通过对本文的解读,大家能充分掌握这一知识。
  PHP在我们的实际应用中可以帮助我们实现许多功能,比如在网站的建设中,对于数据等的操作等。我们今天就向大家介绍有关PHP获取博客数据的相关方法。
  目前很多的网站提供免费个人博客服务,如Google,新浪,网易等等,如何将免费的博客充分利用起来,需要我们在使用过程中不断总结和思考,对于 程序员来说,如何使用PHP获取Blogger博客RSS或Atom数据显得非常重要,在这里简单的跟大家介绍一下使用PHP获取blogger博客 RSS或Atom数据的基本方法,以PHP获取google的Blogger博客数据为实例,了解PHP获取RSS或Atom数据的基本原理,供参考。
  PHP获取博客数据使用前提
  有一个Google的Blogger免费空间。
  获取免费空间的RSS或Atom地址http://shifen.blogspot.com/feeds/posts/defaultPHP获取博客数据实例代码
  $blogUrl = 'http://shifen.blogspot.
  com/feeds/posts/default';
  $atom = simplexml_load_file ( $blogUrl );$atom->registerXPathNamespace (
  'atom', 'http://www.w3.org/2005/Atom' );
  $title = $atom->title;
  $subtitle = $atom->subtitle;
  $blogFeeds = $atom->link [0] [href];
  $blogURL = $atom->link [2] [href];
  $blogNextURL = $atom->link [3] [href];
  $entrys = $atom->xpath ( '//atom:entry' );PHP获取博客数据代码分析
  1,定义博客blogger地址,如:$blogUrl = 'http://shifen.blogspot.com/feeds/posts/default';2,使用PHP内置simplexml_load_file函数将blogger的XML数据转化成对象。
  simplexml_load_file相关知识(具体查看PHP手册)说明:simplexml_load_file 将一个XML文档装载入一个对象中。
  原型:simplexml_load_file ( filename [,class_name [,options [, ns [, is_prefix]]]] )3,使用PHP内置registerXPathNamespace函数为下一次 XPath 查询创建命名空间语境。与前面simplexml_load_file函数组合,支持提供命名空间,Blogger的命名空间使用的是http://www.w3.org/2005/Atom,便于调用Blogger的RSS或Atom数据。
  4,获取Blogger的RSS或Atom数据。
  (1)获取Blogger博客空间标题,如:$atom->title,返回:十分愉快(2)获取Blogger博客空间次标题,如:$atom->subtitle,返回:学学东西总是好的,能让你十分愉快!
  (3)获取Blogger博客RSS地址,如:$atom->link [0] [href],返回:http://shifen.blogspot.com/feeds/posts/default(4)获取Blogger博客URL地址,如:$atom->link [2] [href],返回:http://shifen.blogspot.com/(5)获取Blogger博客RSS的下一页地址,如:$atom->link [3] [href],返回:http://shifen.blogspot.com/feeds/posts/default?start-index=26&max-results=25(6)获取Blogger博客文章内容,如:$atom->xpath ( '//atom:entry' ),返回文章数组,默认最新发布的25篇文章。
  上面PHP获取博客数据实例可知,PHP获取Blogger博客RSS或Atom数据使用simplexml_load_file和registerXPathNamespace两个内置函数即可轻松实现。
  PHP String函数总结介绍
  我们这次为大家列出的PHP String函数包括:htmlentities() 函数;html_entity_decode() 函数;hebrevc() 函数;fprintf() 函数。
  PHP函数是一个非常庞大的集体,功能也相当强大。我们在这篇文章中会为大家总结出PHP String函数的一系列函数,希望对大家有所帮助。
  PHP String函数之htmlentities() 函数把字符转换为 HTML 实体。
  html_entity_decode() 函数把 HTML 实体转换为字符。
  hebrevc() 函数把希伯来文本从右至左的流转换为左至右的流。它也会把新行 (\n) 转换为 <br />。
  hebrev() 函数把希伯来文本从右至左的流转换为左至右的流。
  get_html_translation_table() 函数返回被 htmlentities() 和 htmlspecialchars() 函数使用的翻译表。
  fprintf() 函数把格式化的字符串写到指定的输出流(例如:文件或数据库)。
  explode() 函数把字符串分割为数组。
  PHP String函数之echo() 函数输出一个或多个字符串。
  crypt() 函数返回使用 DES、Blowfish 或 MD5 加密的字符串。
  crc32() 函数计算一个字符串的 crc32 多项式。
  count_chars() 函数返回字符串所用字符的信息。
  convert_uuencode() 函数使用 uuencode 算法对字符串进行编码。
  PHP String函数之convert_uudecode() 函数对 uuencode 编码的字符串进行解码。
  convert_cyr_string() 函数把字符由一种 Cyrillic 字符转换成另一种。
  chunk_split() 函数把字符串分割为一连串更小的部分。
  chr() 函数从指定的 ASCII 值返回字符。
  chop() 函数从字符串的末端开始删除空白字符或其他预定义字符。
  bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。
  PHP String函数之addslashes() 函数在指定的预定义字符前添加反斜杠。
  addcslashes() 函数在指定的字符前添加反斜杠。
  xpath() 函数运行对 XML 文档的 XPath 查询。
  simplexml_load_string() 函数把 XML 字符串载入对象中。
  simplexml_load_file() 函数把 XML 文档载入对象中。
  PHP String函数之simplexml_import_dom() 函数把 DOM 节点转换为 SimpleXMLElement 对象。
  registerXPathNamespace() 函数为下一次 XPath 查询创建命名空间语境。
  getNamespace() 函数获取在 XML 文档中使用的命名空间。
  getName() 函数从 SimpleXMLElement 对象获取 XML 元素的名称。
  getDocNamespaces() 函数从 SimpleXMLElement 对象返回在 XML 文档中声明的命名空间。
  children() 函数获取指定节点的子节点。
  attributes() 函数获取 SimpleXML 元素的属性。
  PHP String函数之asXML() 函数以字符串的形式从 SimpleXMLElement 对象返回 XML 文档。
  让PHP开发者事半功倍的十大技巧
  如果你掌握了以PHP语言“做事”的方式,那么在使用它时就会得心应手,因此值得你去投入精力去了解这些方式。本文向您介绍十项PHP开发中的技巧,希望对您有所帮助。
  如果你使用一面大镜子作为冲浪板会发生什么?或许你会在较短的时间内征服海浪,但是你肯定从内心深处明白,这不是冲浪的正确选择。同样的道理也适用于PHP编程,尽管这样的类比听起来有一些古怪。我们经常听到有人试图用一个周末多点的时间来学会PHP,但是请恕我直言,这是学习这门编程语言的一种非常糟糕的方式。
  为何说学习PHP的过程有别于任何其它语言?
  就其本质而言,如果你掌握了以PHP语言“做事”的方式,那么在使用它时就会得心应手,因此值得你去投入精力去了解这些方式。在PHP中,单纯按照自己思路去解决问题往往会是一种错误的办法。这并不是因为你是一个糟糕的程序员,而是因为如果你想写出好的可维护性强的代码,有些标准技巧是你必须要使用的。下面让我们一起看一下你需要知道的10大技巧。
  1、如何正确的创建一个网站的Index页面
  创建每一个网站时,建立网站的index页面是首要做的事情之一。如果你是一个PHP新手,在编写index页面时典型的做法是只对index页面所需的内容进行编程,其它链接创建另一个页面。不过,如果想学习一种更高效的方式来实现PHP编程,可以采用“index.php?page=home”模式,许多网站都在采用这种模式。
  2、使用Request Global Array抓取数据
  实际上我们没有任何理由使用$_GET和$_POST数组来抓取数值。$_REQUEST这个全局数组能够让你获取一个get或form请求。因此,多数情况下解析数据的更高效代码大体如下:
  $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : 0;3、利用var_dump进行PHP代码调试
  如果你在寻找php调试技术,我必须说var_dump应该是你要找的目标。在显示php信息方面这个命令可以满足你的所有需要。而调试代码的多数情况与得到PHP中的数值有关。
  4、PHP处理代码逻辑,Smarty处理展现层
  Smarty是一个使用PHP写出来的模板PHP模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。
  5、的确需要使用全局数值时,创建一个Config文件动辄创建全局数值是一种糟糕的做法,不过有时候实际情况的确又需要这么做。对于数据库表或数据库连接信息使用全局数值是一个不错的想法,但不要在你的PHP代码中频繁使用全局数值。另外,更好的一种做法是把你的全局变量存放在一个config.php文件中。
  6、如果未定义,禁止访问!
  如果你正确的创建了页面,那么任何其他人没有理由访问index.php或home.php之外的index.php页面。一旦index.php被访问后,你可以通过获得变量的方式来打开需要的页面。你的index页面应该包含类似的以下代码:
  define('yourPage',1);
  然后,其它页面应该包含:
  if (!defined('yourPage')) die('Access Denied');这么做的目的是防止直接访问你的其它php页面。这样,任何试图不通过index.php访问其它网页的人,将得到“访问被拒绝”的消息。
  7、创建一个数据库类
  如果你正在进行数据库编程(在PHP中非常常见的任务),一个不错的想法是创建一个数据库类来处理任何数据库管理功能。示例代码如下:
  public function dbExec($query)
  {
  $result = $this->db->exec($query);
  if (PEAR::isError($result))
  errorRedirect($result->getMessage(), true);else
  return $result;
  }
  这个函数仅接收一个查询语句并对其执行。它还处理可能出现的任何错误。你还可以在这儿包含审核代码,不过我更喜欢使用一个类似的审核函数:
  // checks if arguments given are integer values not less than 0 - has multiple argumentsfunction sanitizeInput()
  {
  $numargs = func_num_args();
  $arg_list = func_get_args();
  for ($i = 0; $i < $numargs; $i++) {
  if (!is_numeric($arg_list[$i]) || $arg_list[$i] < 0)errorRedirect("Unexpected variable value", true);}
  }
 

上一篇:PHP设计模式漫谈之代理模式

下一篇:提高PHP的运行效率的方法