Remplacer toutes les chaînes de caractères “<” et “>” dans une variable “&lt;” et “&gt;”

Je suis en train d'essayer de coder un formulaire de saisie où vous pouvez taper et mettre en forme un texte pour une utilisation ultérieure comme les entrées XML. Afin de rendre le code HTML XML lisible, je dois remplacer le code entre crochets avec le symbole correspondant codes, c'est à dire < avec &lt; et > avec &gt;.

Le texte formaté est transféré en tant que code HTML avec la variable inputtext, nous avons donc par exemple le texte

The <b>Genji</b> and the <b>Heike</b> waged a long and bloody war.

qui doit se converti en

The &lt;b&gt;Genji&lt;/b&gt; and the &lt;b&gt;Heike&lt;/b&gt; waged a long and bloody war.

Je l'ai essayé avec le .fonction de remplacement ():

inputxml = inputxml.replace("<", "&lt;");       
inputxml = inputxml.replace(">", "&gt;");

Mais ce serait juste remplacer la première occurrence des crochets. Je suis sûr que j'ai besoin d'une sorte de boucle pour cela; j'ai aussi essayé d'utiliser le each() fonction de jQuery (un ami a recommandé, j'ai regardé le package jQuery), mais je suis encore nouveau pour le codage en général et j'ai des ennuis de ce travail.

Comment voulez-vous code une boucle qui permettrait de remplacer les crochets de code dans une variable comme décrit ci-dessus?

Des informations supplémentaires

Vous êtes, bien sûr, en supposant que ce est une partie de quelque chose de plus grand. Je suis un étudiant de troisième cycle en études Japonaises et actuellement, je suis en train de visualiser les informations sur Japenese l'histoire d'une manière plus accessible. Pour cela, je suis en utilisant la Métaphore de la Timeline de l'API développée par le MIT, les étudiants diplômés. Vous pouvez voir un test d'un montage sur ma page d'accueil.

La Comparaison Montage utilise une API basée sur AJAX et Javascript. Si vous ne souhaitez pas installer le moteur AJAX sur votre propre serveur, vous pouvez mettre en œuvre le scénario de l'API à partir du MIT. Les données de la chronologie est généralement fournie par un ou plusieurs des fichiers XML ou des fichiers JSON. Dans mon cas, j'utilise des fichiers XML, vous pouvez avoir un coup d'oeil à la structure XML dans cet exemple.

Dans le scénario, il y a des soi-disant "événements" sur lequel vous pouvez cliquer afin de révéler des informations supplémentaires à l'intérieur d'une info-bulle qui s'affiche. Le texte à l'intérieur de ces infos bulles provient du fichier source XML. Maintenant, si vous voulez faire un peu de mise en forme HTML dans l'info bulles, vous ne pouvez pas utiliser le code de support, car ceux-ci vont juste être affiché sous forme de texte brut. Cela fonctionne si vous utilisez le symbole des codes au lieu de la plaine entre parenthèses, cependant.

Le contenu pour le scénario sera écrit par des gens absolument et totalement pas habitués à codifiée de balisage, c'est à dire des historiens, des historiens de l'art, sociologues, parmi eux, plusieurs personnes de l'âge de 50 ans et plus. J'ai essayé de leur expliquer comment ils doivent le format du fichier XML si ils veulent créer un montage, mais de temps en temps ils glisse et deviennent frustrés quand le scénario ne prend pas en charge parce qu'ils ont oublié de fermer une parenthèse ou d'inclure une apostrophe.

Afin de le rendre plus facile, j'ai essayé de faire un facile à utiliser le formulaire de saisie où vous pouvez saisir toutes les informations et le format du texte WYSIWYG, puis l'ont converti en code XML qui vous avez juste à copier et coller dans le fichier source XML. La plupart de ça marche, même si j'ai encore de la difficulté avec la conversion du balisage de texte dans le principal champ de texte.

La conversion du code parenthèses dans le code du symbole est la dernière chose dont j'avais besoin pour se mettre au travail afin de disposer d'un formulaire de saisie.

  • il n'est pas nécessaire d'utiliser jquery pour cette tâche
  • "Afin de rendre le code HTML XML lisible, je dois remplacer le code entre crochets avec le symbole correspondant codes, c'est à dire < avec &lt; et > avec &gt;" - Euh, non. Vous avez à XML-encoder la chaîne, qui est une opération beaucoup plus complexe que de remplacer deux personnages et vous ne devriez pas le faire via JavaScript chaîne à remplacer.
  • Tout à fait raison.
  • De Plus, je vois peu de raisons que vous devez le faire manuellement. Ces choses se produisent habituellement automatiquement dans la couche API, de sorte s'il vous plaît dites-nous ce que vous êtes en train d'essayer de faire. Astuce: Remplacer des caractères n'est-ce pas. 😉
  • Vous êtes bien sûr que vous êtes de droite, Tomalak. J'ai inclus des informations supplémentaires à propos de mon projet dans mon post initial. Malheureusement, je n'ai pas assez de réputation pour poster plus de trois Hyperliens encore, donc voici le lien vers le formulaire de saisie: formulaire
  • J'ai posté une approche alternative basée sur votre code.

InformationsquelleAutor Michael | 2011-05-23