1

sous ce titre incomprehensible se cache un script que je voulais faire mais qui ne marche pas
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 smile ) et ... ca deconne en plus y'a meme pas d'erreur donnée (a part «erreur xml» roll)
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;
	}
}
? >

2

excuse moi mais y'a plus simple...
Tu peux utiliser des feuilles de style et dans ce cas, pour la version imprimable, tu auras juste besoin d'utiliser une feuille de style particulière
Par la même occasion, ça évitera de ralentir ton serveur avec un script monstre wink
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes