63 votes

Formateur HTML / nettoie / beautifier pour JavaScript

Existe-t-il des formateurs / nettoyeurs / imprimantes HTML écrits en JavaScript?

J'ai créé un éditeur de contenu (CMS) qui présente à la fois des vues WYSIWYG et du code source. Le problème le code écrit par l'éditeur WYSIWYG est normalement une seule ligne. Je voudrais donc un code JavaScript capable de formater cela sous une forme plus lisible à la demande.

53voto

ghoppe Points 10004

Vous trouverez peut-être cela utile:

http://github.com/einars/js-beautify

C'est le code source qui alimente le site http://jsbeautifier.org/

1voto

Steve Points 10623

C'est ce que tu veux:

http://www.textfixer.com/html/uncompress-html-code.php

Voici le lien vers le javascript décompressant:

http://www.textfixer.com/js/uncompress-html-code.js

0voto

pex Points 2237

Vous pouvez jeter un coup d'œil à l' approche de David Pireks - même si je pense que c'est loin d'être parfait .. (dépend de jQuery )

0voto

Daniel Mendel Points 3382

jQuery créateur John Resig a écrit un rapide et léger analyseur HTML en javascript. Si vous êtes à la recherche d'une solution que vous pouvez ajouter directement à votre CMS, puis vous pourriez écrire un simple formatage automatique de la requête à l'aide de cette analyse comme une base. Tout vous devez faire est de reoutput les éléments en ajoutant des espaces et des sauts de ligne que vous le souhaitez, en utilisant l'api:

HTMLParser(htmlString, {
  start: function(tag, attrs, unary) {},
  end: function(tag) {},
  chars: function(text) {},
  comment: function(text) {}
});

Un avantage de cette approche est que vous pouvez utiliser le même HTMLParser à lire du HTML dans votre WYSIWYG, ou interagir avec l'utilisateur de votre HTML arbre. HTMLParser est également livré pré-monté avec un HTMLtoDOM méthode.

-2voto

Eric Points 264

L'écriture du code HTML sur une ligne entraînerait un téléchargement plus rapide sur le navigateur. Par conséquent, je ne suis pas sûr de vouloir le formater. Peut-être une option pour une version formatée ou une version optimisée.

En ce qui concerne la question ... vous pouvez faire un appel AJAX après tant d’actions et envoyer le code au serveur pour le formater et l’afficher dans un autre champ à l’écran. Fondamentalement, ce serait une version en temps réel de ce site, http://infohound.net/tidy/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X