Mon idée est de d'une manière ou d'une autre forte> Minify code HTML au côté serveur, de sorte que le client reçoit moins d'octets. P>
Que veux-je dire avec "minify"? P>
ne pas zipper. De plus, par exemple, les créateurs de JQuery font avec .Min strong> .js em> versions. En d'autres termes, je dois supprimer des espaces blancs et des nouvelles lignes inutiles, mais je ne peux pas supprimer tant que la présentation des changements HTML (par exemple, éliminer l'espace blanc entre les mots réels du paragraphe). P>
Y a-t-il des outils qui peuvent le faire? Je sais qu'il y a htmlpurifier . Est-ce que cela est-il capable de le faire? Toute autre option? P>
P.s. S'il vous plaît, n'offrez pas de regex'ies. Je sais que seul Chuck Norris peut analyser HTML avec eux. =] p>
5 Réponses :
Vous pouvez analyser le code HTML dans un arborescent DOM (qui doit conserver le contenu WhitSpace dans les nœuds), puis le récupérez dans HTML, sans aucun espace de joie. P>
Y a-t-il des outils qui peuvent le faire? P> blockQuote>
Oui, voici un outil que vous pouvez inclure dans un processus de construction ou travailler dans une couche de cache Web: https://code.google.com/archive/p/htmlcompressor/ < / p>
ou, si vous recherchez un outil pour minimiser HTML que vous collez, essayez: http://www.willpeavy.com/minifier/ p>
Vous pouvez utiliser l'outil assez diffiffres: http://prettydiff.com/?m=minify&htmlled/a > Il mettra également minier tout CSS et JavaScript dans le code HTML, et la minéculation se produit de manière régressive afin de ne pas empêcher l'embellissement futur du dos HTML à la forme lisible. P>
Un peu en retard mais toujours ... en utilisant la sortie_buffering, il est aussi simple que celui-ci:
function compress($string) { // Remove html comments $string = preg_replace('/<!--.*-->/', '', $string); // Merge multiple spaces into one space $string = preg_replace('/\s+/', ' ', $string); // Remove space between tags. Skip the following if // you want as it will also remove the space // between <span>Hello</span> <span>World</span>. return preg_replace('/>\s+</', '><', $string); } ob_start('compress'); // Here goes your html. ob_end_flush();
Vous ne voudrez probablement pas supprimer les espaces blancs dans les étiquettes telles que PRE, CODE, etc.
@Bijayrungta tu as raison. Bien qu'il soit possible d'éviter cela avec quelques modifications. Je viens de donner une idée là-bas :) +1 à votre commentaire.
Analyse HTML avec une réégyclette ne fonctionne pas . Votre REGEXP allumerait par ex. BAR P> CODE>.
Y a-t-il des outils qui peuvent le faire? P> blockQuote>
Vous pouvez utiliser CODVERTER EN LIGNE Editeur de développement Web pour compresser le code HTML mixte.
Le compresseur a été testé plusieurs fois pour la fiabilité et la précision.
(Divulgation complète: Je suis l'un des développeurs).
p>
Je ne pense pas que tu aies besoin de faire ça. La plupart des serveurs Web prennent en charge la serveur de pages Web "Gzipped". Vos épaces ne deviendront plus un problème. Vous devriez toujours servir vos pages Web Gzipped.
Vous pouvez écrire un programme simple qui utilise une bibliothèque d'analyse HTML pour analyser le fichier HTML, puis l'écrire. Si vous utilisez C #, vous pouvez consulter la bibliothèque LINQ-TO-HTML.
Accepter avec Stephen Chung: Si vous Gzip Le HTML, tout blancheur sera compacté. Ce sera un processus plus rapide que de fixer le HTML lui-même.