Comment échapper <et> à l'intérieur des balises <pre>

88

J'essaie d'écrire un article de blog qui comprend un segment de code dans une <pre>balise. Le segment de code comprend un type générique et utilise <>pour définir ce type. Voici à quoi ressemble le segment:

<pre>
    PrimeCalc calc = new PrimeCalc();
    Func<int, int> del = calc.GetNextPrime;
</pre>

Le HTML résultant supprime le <>et se termine comme ceci:

PrimeCalc calc = new PrimeCalc();
Func del = calc.GetNextPrime;

Comment puis-je échapper aux <>pour qu'ils apparaissent dans le HTML?

urini
la source
3
&lt;et&gt;
Alan Dong
Vous pouvez simplement utiliser un formateur en ligne: freeformatter.com/html-escape.html
kaore

Réponses:

111
<pre>
    PrimeCalc calc = new PrimeCalc();
    Func&lt;int, int&gt; del = calc.GetNextPrime;
</pre>
John Sheehan
la source
17
Je me sens mal qu'aucune technologie ne soit encore introduite pour cela.
Sathish Kumar kk
Bien sûr, l'esperluette est aussi quelque chose qui doit être cité dans le même contexte que les crochets angulaires, je ne suis donc pas sûr de l'utilité d'utiliser '&' si '<' et '>' ont besoin d'entités html.
Astara
21
<pre>&gt;</pre>

rend comme:

>

Alors tu veux:

<pre>
    PrimeCalc calc = new PrimeCalc();
    Func&lt;int, int&gt; del = calc.GetNextPrime;
</pre>

qui se révèle comme:

    PrimeCalc calc = nouveau PrimeCalc ();
    Func <int, int> del = calc.GetNextPrime;
Chris Marasti-Georg
la source
14

Utilisez &lt;et &gt;à faire <et à l' >intérieur du html.

crashmstr
la source
6

&lt;et &gt;respectivement

ckpwong
la source
5

Que diriez-vous:

&lt; and &gt;

J'espère que cela t'aides?

boîte à outils
la source
2

Ce que rp a dit , remplacez simplement les symboles supérieur à (>) et inférieur à (<) par leur équivalent d'entité html. Voici un exemple:

<pre>
    PrimeCalc calc = new PrimeCalc();
    Func&lt;int, int&gt; del = calc.GetNextPrime;
</pre>

Cela devrait apparaître comme (cette fois en utilisant exactement la même chose sans les espaces préfixés pour le démarquage):

    PrimeCalc calc = nouveau PrimeCalc ();
    Func <int, int> del = calc.GetNextPrime;
akdom
la source
-1

C'est probablement quelque chose de spécifique à votre logiciel de blog, mais vous pouvez essayer les chaînes suivantes (supprimez le caractère de soulignement): & _lt; & _gt;

OwenP
la source
-4

Une meilleure façon de faire est de ne pas avoir à se soucier du tout des codes de caractères. Enveloppez simplement tout votre code dans les <pre>balises avec ce qui suit

<pre>
${fn:escapeXml('
  <!-- all your code -->
')};
</pre>

Vous aurez besoin d'avoir jQuery activé pour que cela fonctionne, tho.

PanicBus
la source
1
Ce n'est pas mieux. Vous devrez alors échapper à votre contenu pour JavaScript. Dans certains cas, il est toujours possible de sortir du JavaScript. Par exemple, et si le contenu contenait </pre>?
Brad