Tidy 函数

目录

添加备注

用户贡献的备注 2 个备注

2
patatraboum at nospam dot fr
18 年前
<?php
//
// 您最喜欢的 tidy 树!
// 适用于 PHP 5 (CGI)
// 感谢 [email protected]
//
$file="https://php.net";
//
$cns=get_defined_constants(true);
$tidyCns=array("tags"=>array(),"types"=>array());
foreach(
$cns["tidy"] as $cKey=>$cVal){
if(
$cPos=strpos($cKey,$cStr="TAG")) $tidyCns["tags"][$cVal]="$cStr : ".substr($cKey,$cPos+strlen($cStr)+1);
elseif(
$cPos=strpos($cKey,$cStr="TYPE")) $tidyCns["types"][$cVal]="$cStr : ".substr($cKey,$cPos+strlen($cStr)+1);
}
$tidyNext=array();
//
echo "<html><head><meta http-equiv='Content-Type' content='text/html; charset=windows-1252'><title>Tidy Tree :: $file</title></head>";
echo
"<body><pre>";
//
tidyTree(tidy_get_root(tidy_parse_file($file)),0);
//
function tidyTree($tidy,$level){
global
$tidyCns,$tidyNext;
$tidyTab=array();
$tidyKeys=array("type","value","id","attribute");
foreach(
$tidy as $pKey=>$pVal){
if(
in_array($pKey,$tidyKeys)) $tidyTab[array_search($pKey,$tidyKeys)]=$pVal;
}
ksort($tidyTab);
foreach(
$tidyTab as $pKey=>$pVal){
switch(
$pKey){
case
0 :
if(
$pVal==4) $value=true; else $value=false;
echo
indent(true,$level).$tidyCns["types"][$pVal]."\n"; break;
case
1 :
if(
$value){
echo
indent(false,$level)."VALEUR : ".str_replace("\n","\n".indent(false,$level),$pVal)."\n";
}
break;
case
2 :
echo
indent(false,$level).$tidyCns["tags"][$pVal]."\n"; break;
case
3 :
if(
$pVal!=NULL){
echo
indent(false,$level)."ATTRIBUTS : ";
foreach (
$pVal as $aKey=>$aVal) echo "$aKey=$aVal "; echo "\n";
}
}
}
if(
$tidy->hasChildren()){
$level++; $i=0;
$tidyNext[$level]=true;
echo
indent(false,$level)."\n";
foreach(
$tidy->child as $child){
$i++;
if(
$i==count($tidy->child)) $tidyNext[$level]=false;
tidyTree($child,$level);
}
}
else echo
indent(false,$level)."\n";
}
//
function indent($tidyType,$level){
global
$tidyNext;
$indent="";
for(
$i=1;$i<=$level;$i++){
if(
$i<$level||!$tidyType){
if(
$tidyNext[$i]) $str="| "; else $str=" ";
}
else
$str="+--";
$indent=$indent.$str;
}
return
$indent;
}
//
echo "</pre></body></html>";
//
?>
1
bill dot mccuistion at qbopen dot com
19 年前
在 Fedora Core 2 上安装 tidy 需要三个库

tidy...
tidy-devel...
libtidy...

我从 http://rpm.pbone.net 找到了所有这些库

最后,我运行了 "./configure --with-tidy"

希望这能帮到其他人。对于我来说,这真的很困难,因为其他地方都没有清楚地记录。
To Top