提取HTML标签
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-24
<?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("\r\n","",$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("[\"'']contentquot;,$a[$i])) { $a[$i] .= " ".$a[$j]; unset($a[$j]); } } } foreach($a as $k) { $name = strtoupper(strtok($k,"=")); $value = strtok("\0"); if(eregi("^[\"'']",$value)) $value = substr($value,1,-1); if($name) $p[Attrs][$name] = $value; } $pp[] = $p; } return $pp; } ?> |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 使用php+xslt在windows平台上下一篇: PHP网站提速三大“软”招
关于提取HTML标签的所有评论