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? P>
4 Réponses :
Je n'ai jamais utilisé bien rangé mais cela semble assez personnalisable. P>
Voici la référence rapide des options de configuration: http://tiidy.sourceforge.net/docs/ QuickRef.html P>
Mais vraiment, avec des outils comme Firebug, je n'ai jamais vu le besoin de ranger la sortie HTML. P>
Brian - vous avez raison que Firebug organisera / indenter HTML, qui va bien pour le développement. Le point ici est de nettoyer le code HTML afin que, lors de la visualisation de la source via un navigateur, le code apparaît lisible et propre. Ceci est pour la présentation, pas le développement, les objectifs. Par exemple, si une source de vues prospective du client sur mon site, il peut voir que ce n'est pas un "gâchis".
Tidy est une excellente solution; Cependant, pour vous aider à l'appliquer avec PHP, une recherche rapide montre Devzone.Zend.com/article/761 < / a> comme une ressource utile.
Plague - J'avais déjà lu cet article, mais merci d'avoir posté. Malheureusement, il ne répond pas non plus à la question initiale, ce qui est possible de sauter toute la validation et de l'embellissement du code?
Sûrement si un client connaît suffisamment de HTML pour savoir quand c'est désordonné, ils sauront également que ce n'est pas pertinent.
J'ai posé une question objective: existe-t-il des bibliothèques existantes dans PHP pouvant embellir la sortie HTML sans le valider?
En fait, la tendance de nos jours est de minifier et d'empêcher votre code pour des raisons de sécurité, qui est l'opposé de l'indentation et de la rendre bonne. Fais-moi confiance à ce sujet: Je n'ai jamais eu de cliente sur mon HTML et dites: "Wow, a l'air bien en retrait et tout!"
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 code> dans NetBeans. P>
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).
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. P>
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. P>
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.
Face au même problème, j'utilise actuellement une combinaison de deux commandes: JS-BELLIFY FORMATS Les bits HTML et PRETTIER format le code PHP p> p>
Voir HTmlawed si cela convient votre besoin