手机
当前位置:查字典教程网 >编程开发 >php教程 >提取HTML标签
提取HTML标签
摘要:

<?php

/*********************************

*

*作者: 徐祖宁 (唠叨)

*邮箱: czjsz_ah@stats.gov.cn

*开发: 2002.07

*

*

*函数: tags

*功能: 从文件中提取HTML标签

*

*入口:

*$filename 文件名

*$tag标签名

*返回:

*数组,每项为:

*tagNameString

*TextString

*AttrsArray

*

*示例:

*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;

}

?>

【提取HTML标签】相关文章:

PHP curl伪造IP地址和header信息代码实例

PHP 和 HTML

phpmyadmin操作流程

php判断文本文档字符编码

PHP模板引擎SMARTY

PHP5.0对象模型探索之抽象方法和抽象类

PHP生成唯一订单号的方法汇总

第十一节 重载 [11]

PHP Opcache安装和配置方法介绍

DOMXML函数笔记

精品推荐
分类导航