9
votes

Jolie-impression HTML via php sans validation?

Je voudrais automatiquement jolie-impression (indentation, surtout) la sortie HTML que génère mes scripts PHP. J'ai joué avec bien rangé, mais j'ai constaté que dans ses efforts pour valider et nettoyer mon code, Tidy change beaucoup trop. Je sais que les intentions de Tidy sont bonnes mais je suis vraiment juste à la recherche d'une magnifique magnifique HTML. Y a-t-il une bibliothèque plus simple qui peut courir dans PHP et faire la jolie-impression? Ou, existe-t-il un moyen de configurer Tandy pour ignorer toutes les choses de validation et juste embellir?


1 commentaires

Voir HTmlawed si cela convient votre besoin


4 Réponses :


3
votes

Je n'ai jamais utilisé bien rangé mais cela semble assez personnalisable.

Voici la référence rapide des options de configuration: http://tiidy.sourceforge.net/docs/ QuickRef.html

Mais vraiment, avec des outils comme Firebug, je n'ai jamais vu le besoin de ranger la sortie HTML.



2
votes

Puisque vous ne voulez pas le faire valider pour une raison quelconque, je ne suggérerai pas htmlpurifier ; ). Pourquoi ne pas simplement utiliser un IDE pour que tout est bien indenté, comme alt-shift-f dans NetBeans.


2 commentaires

Je suis d'accord, le code probablement doit être valable pour l'analyseur et si le code est écrit à partir de zéro avec de la bonne IDE, pas besoin de ces scripts.


Vous supposez que c'est un document HTML unique sur le disque. Le HTML est généré via un système de modèle via plusieurs concepteurs conditionnels et par plusieurs développeurs et concepteurs. Dans l'effort de maintenir des sous-modèles individuels lisibles, ils ont généralement tous leur propre système d'indentation. Par toute mesure, la chose la plus intelligente ici est d'embellir le code dans le post-traitement (Smarty OutputFilter).



4
votes

Le comportement que vous avez observé lorsque vous utilisez Tidy est le résultat de l'utilisation sous-jacente de DOM API. Au lieu de manipuler le code source fourni, Dom API reconstituera toute la source, faisant ainsi des correctifs en cours de route.

J'ai écrit dindent , une bibliothèque qui utilise regex. Cela ne fait rien au-delà de l'ajout de l'indentation et de retirer des espaces bleus. Cependant, je conseille d'utiliser cette mise en œuvre au-delà du développement.


1 commentaires

L'URL de démonstration originale est morte. Voici un lien vers une démo de travail. Gajust.com/sandbox/dindent/sandbox Notez que pendant que l'URL de démonstration pourrait arrêter de travailler dans L'avenir, le codebase lui-même est stable. À moins que votre balisage soit écrit à l'aide de HTML6 (futur!), Cela fonctionnera comme prévu.



0
votes

Face au même problème, j'utilise actuellement une combinaison de deux commandes: xxx

JS-BELLIFY FORMATS Les bits HTML et PRETTIER format le code PHP


0 commentaires