en fait je voudrais faire un script "version imprimable d'une page" cad ca enleve les fonds et tout
pour ca j'utilise le parseur xml (ici ca sera html
) et ... ca deconne en plus y'a meme pas d'erreur donnée (a part «erreur xml»
)
voila le code :
< ?
if(!isset($_GET['url'])) exit;
$fichier=$_GET['url'];
$lvlz=array();
$lvln=0;
$parseurXML = xml_parser_create();
xml_set_element_handler($parseurXML, "openBal","closeBal");
xml_set_character_data_handler($parseurXML, "textP");
$fp = fopen($fichier, "r");
if (!$fp) die("Impossible d'ouvrir le fichier XML");
while($ligneXML=fgets($fp, 1024)){
xml_parse($parseurXML, $ligneXML, feof($fp)) or die("Erreur XML");
}
xml_parser_free($parseurXML);
fclose($fp);
function openBal($flux,$nom,$atbz){
global $lvln;global $lvlz;
$lvln++;$lvlz[$lvln]=$nom;
switch($nom){
case "a":case "b":case "u":case "i":
case "h1":case "h2":case "h3":case "h4":case "h5":case "h6":case "p":
case "p":case "img":case "body":case "head":case "html":case "ul":
case "ol":case "li":case "script":case "input":case "form":
case "table":case "tr":case "td":case "thead":case "tfoot":case "div":{
echo "<".$nom;
foreach($atbz as $n => $c){
switch($n){
case "href":case "alt":case "src":case "type":case "value":{
echo " ".$n."=\"".$c."\"";
break;
}
default:break;
}
}
echo ">";
}
case "table":case "tr":case "td":case "thead":case "tfoot":break;
default:break;
}
}
function closeBal($flux,$nom){
global $lvln;global $lvlz;
$lvln--;
switch($nom){
case "a":case "b":case "u":case "i":
case "h1":case "h2":case "h3":case "h4":case "h5":case "h6":case "p":
case "p":case "img":case "body":case "head":case "html":case "ul":
case "ol":case "li":case "script":case "input":case "form":
case "table":case "tr":case "td":case "thead":case "tfoot":case "div":{
echo "<"."/".$nom.">";
break;
}
case "table":case "tr":case "td":case "thead":case "tfoot":break;
default:break;
}
}
function textP($flux,$tex){
global $lvln;global $lvlz;
switch($lvlz[$lvln]){
case "a":case "b":case "u":case "i":
case "h1":case "h2":case "h3":case "h4":case "h5":case "h6":case "p":
case "p":case "img":case "body":case "head":case "html":case "ul":
case "ol":case "li":case "script":case "input":case "form":
case "table":case "tr":case "td":case "thead":case "tfoot":case "div":{
echo $tex;
break;
}
case "table":case "tr":case "td":case "thead":case "tfoot":break;
default:break;
}
}
? >
