> 백엔드 개발 > PHP 튜토리얼 > php怎么提取HTML标签

php怎么提取HTML标签

PHP中文网
풀어 주다: 2023-02-28 10:54:02
원래의
5208명이 탐색했습니다.

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

?>
로그인 후 복사

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿