提取HTML标签

2016-01-29 14:57 6 1 收藏

提取HTML标签,提取HTML标签

【 tulaoshi.com - PHP 】

  <?php
/*********************************
*
*  作者: 徐祖宁 (唠叨)
*  邮箱: czjsz_ah@stats.gov.cn
*  开发: 2002.07
*
*
*  函数: tags
*  功能: 从文件中提取HTML标签
*
*  入口:
*  $filename 文件名
*  $tag      标签名
*  返回:
*  数组,每项为:
*   tagName    String
*   Text       String
*   Attrs      Array
*
*  示例:
*  print_r(tags("test1.htm","a"));
*  print_r("http://localhost/index.htm","img");
*
*/

function tags($filename,$tag) {
  $buffer = join("",file($filename));
  $buffer = eregi_replace("rn","",$buffer);
  $tagkey = sql_regcase($tag);
  $buffer = eregi_replace("<$tagkey ","n<$tag ",$buffer);
  $ar = split("n",$buffer);

  foreach($ar as $v) {
    if(! eregi("<$tagkey ",$v)) continue;
    eregi("<$tagkey ([^]*)((.*)</$tagkey)?",$v,$regs);
    $p[tagName] = strtoupper($tag);
    if($regs[3])
      $p[Text] = $regs[3];
    $s = trim(eregi_replace("[ t]+"," ",$regs[1]))." ";
    $s = eregi_replace(" *= *","=",$s);

    $a = split(" ",$s);
    for($i=0;$i<count($a);$i++) {
      $ch = array();
      if(eregi("=["']",$a[$i])) {
        $j = $i+1;
        while(!eregi("["']$",$a[$i])) {
          $a[$i] .= " ".$a[$j];
          unset($a[$j]);
        }
      }
    }
    foreach($a as $k) {
      $name = strtoupper(strtok($k,"="));
      $value = strtok("");
      if(eregi("^["']",$value))
        $value = substr($value,1,-1);
      if($name)
        $p[Attrs][$name] = $value;
    }
    $pp[] = $p;
  }
  return $pp;
}

?

 

来源:http://www.tulaoshi.com/n/20160129/1494840.html

延伸阅读
标签: Web开发
标签:a (标记) 说明:标明超链接的起始或目的位置。 描述: 标签属性 · accessKey 设置或获取对象的快捷键。     · atomicselection 指定元素及其内容是否可以一不可见单位统一选择。     · begin 设置或获取时间线在该元素上播放前的延迟时间。     · canHaveChildren 获取表...
标签: Web开发
定义和用法 定义一个嵌入的对象。请使用此元素向您的 XHTML 页面添加多媒体。此元素允许您规定插入 HTML 文档中的对象的数据和参数,以及可用来显示和操作数据的代码。 object 标签用于包含对象,比如图像、音频、视频、Java applets、ActiveX、PDF 以及 Flash。 object 的初衷是取代 img 和 applet 元素。不过由于漏洞以及缺乏浏览器支...
标签: Web开发
HTML标签; meta属性Content,name,scheme !DOCTYPE a属性coords,shape, abbr属性 address属性 area属性 article属性 aside属性 audio属性 b属性 base属性 bdo属性 blockquoe属性 body属性 br属性 button属性 canvas属性 caption属性 cite属性 code属性 col属性 colgroup command datalist dd...
标签: Web开发
(1)概念的变化: HTML5专注内容与结构,而不专注的表现 header hgroup导航相关数据/hgroup /header nav菜单/nav article h1标题:HTML5专题视频教程/h1 (2)声明与标签: HTML5在更多的声明和标签上面做了简化,也对兼容做了详细的规定,废除了部分元素,增加了部分元素。 HTML5标签语法介绍及新增标记 1、语法标签: (1) ...
标签: Web开发
标签:a (标记) 说明:标明超链接的起始或目的位置。 描述: 标签属性 · accessKey 设置或获取对象的快捷键。 · atomicselection 指定元素及其内容是否可以一不可见单位统一选择。 · begin 设置或获取时间线在该元素上播放前的延迟时间。 · canHaveChildren 获取表明对象是否可以包含子对象的值。...

经验教程

884

收藏

14

精华推荐

HTML教程:收集的常用的HTML标签(4)

HTML教程:收集的常用的HTML标签(4)

陇东散人昆少

解析Html生成标签树(前言)

解析Html生成标签树(前言)

QBY小男生

解析Html生成标签树(一)

解析Html生成标签树(一)

老虎和表嫂

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部