Rumah > pembangunan bahagian belakang > tutorial php > php怎么提取HTML标签

php怎么提取HTML标签

PHP中文网
Lepaskan: 2023-02-28 10:54:02
asal
5208 orang telah melayarinya

php怎么提取HTML标签

php怎么提取HTML标签?

通过php提取HTML标签

<?php
/*********************************
* 
* 函数: 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("=[\"&#39;]",$a[$i])) {
    $j = $i+1;
    while(!eregi("[\"&#39;]$",$a[$i])) {
     $a[$i] .= " ".$a[$j];
     unset($a[$j]);
    }
   }
  }
  foreach($a as $k) {
   $name = strtoupper(strtok($k,"="));
   $value = strtok("\0");
   if(eregi("^[\"&#39;]",$value))
    $value = substr($value,1,-1);
   if($name)
    $p[Attrs][$name] = $value;
  }
  $pp[] = $p;
 }
 return $pp;
}

?>
Salin selepas log masuk

更多相关知识,请访问PHP中文网

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan