2012-12-01 11 views
-1

Comment utiliser this HTMLTidy class? Exemple: Je souhaite embellir la variable $input qui contient du code HTML. J'ai essayé ceci:Utilisation de la classe PHP HTMLTidy

$input = "<html><head><title>The Last Page of the Internet</title></head><body><center><h1><b><u>Attention:</u></b></h1><p><br><strong>You have reached the very last page of the Internet.</strong></p><p><br><strong>We hope you have enjoyed your browsing.</strong></p><p><br><strong>Now turn off your computer and go outside.</strong></p></center></body></html>"; 
include ('class.htmltidy.php'); 
$html = htmltidy($input); 
echo $html; 

Mais cela ne fonctionne pas. La source de la classe HTMLTidy est here.

+0

quel est le contenu de $ input? De votre exemple, $ input semble être unitalisé. –

+0

@RobApodaca J'ai inclus $ input voir edit. Mais aussi que ça ne marche pas. – user1480019

+0

Ensuite, définissez «ne fonctionne pas». – GolezTrol

Répondre

0

Vous dites que vous voulez "embellir" le code HTML d'entrée. Il n'y a aucun moyen de savoir ce que cela signifie. Cela dit, je ne peux vraiment pas dire exactement ce que cette classe html est censée faire. Il a une méthode, "analyser". J'ai essayé:

$input = "<html><head><title>The Last Page of the Internet</title></head><body><center><h1><b><u>Attention:</u></b></h1><p><br><strong>You have reached the very last page of the Internet.</strong></p><p><br><strong>We hope you have enjoyed your browsing.</strong></p><p><br><strong>Now turn off your computer and go outside.</strong></p></center></body></html>"; 

$tidy = new htmltidy(); 
$tidy->parse($input); 
print_r($tidy->html); 

mais reçu plusieurs avis de PHP sur les index non définis et le tableau html était vide. Encore une fois, je ne sais pas exactement ce que vous voulez faire. Quoi qu'il en soit, j'abandonnerais cette classe htmltidy car elle semble contenir des bugs. Maintenant, si vous voulez mettre en forme la chaîne HTML, je recommande le php tidy extension. Voici comment vous pouvez formater une chaîne html avec indentation:

$tidy = tidy_parse_string($input, array(
    'output-html' => true, 
    'indent' => true, 
)); 
$tidy->cleanRepair(); //if you might have markup errors 
echo $tidy; 

Voir la tidy_parse_string documentation pour plus d'informations.

+0

Avec "embellir" je veux dire indentation HTML pour une meilleure mise en page. J'ai également un tableau vide quand je cours votre code. – user1480019

+0

Je ne peux pas utiliser l'extension php tidy car libtidy n'est pas installé et je ne peux pas l'installer car le serveur n'est pas le mien. Donc je cherchais une classe PHP et j'ai trouvé la classe HTMLTidy. Peut-être qu'il existe une autre classe ou solution PHP mais je ne sais pas. – user1480019

Questions connexes