Como escapar <e> dentro das tags <pre>

88

Estou tentando escrever uma postagem de blog que inclui um segmento de código dentro de uma <pre>tag. O segmento de código inclui um tipo genérico e usa <>para definir esse tipo. Esta é a aparência do segmento:

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

O HTML resultante remove oe <>termina assim:

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

Como faço para escapar do <>para que apareçam no HTML?

urini
fonte
3
&lt;e&gt;
Alan Dong
Você poderia simplesmente usar um formatador online: freeformatter.com/html-escape.html
kaore

Respostas:

111
<pre>
    PrimeCalc calc = new PrimeCalc();
    Func&lt;int, int&gt; del = calc.GetNextPrime;
</pre>
John Sheehan
fonte
17
Me sinto mal que ainda não haja nenhuma tecnologia introduzida para isso.
Sathish Kumar kk
Obviamente, o E comercial também é algo que precisa ser citado no mesmo contexto dos colchetes angulares, portanto, não tenho certeza de quão útil é usar '&' se '<' e '>' precisam de entidades html.
Astara
21
<pre>&gt;</pre>

renderiza como:

>

Então você quer:

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

o que resulta como:

    PrimeCalc calc = novo PrimeCalc ();
    Func <int, int> del = calc.GetNextPrime;
Chris Marasti-Georg
fonte
14

Use &lt;and &gt;to do <e >dentro do html.

crashmstr
fonte
6

&lt;e &gt;respectivamente

ckpwong
fonte
5

E se:

&lt; and &gt;

Espero que isto ajude?

kit de ferramentas
fonte
2

O que rp disse , basta substituir os símbolos maior que (>) e menor que (<) por seus equivalentes de entidade html. Aqui está um exemplo:

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

Deve aparecer como (desta vez usando exatamente o mesmo, sem os espaços prefixados para marcação):

    PrimeCalc calc = novo PrimeCalc ();
    Func <int, int> del = calc.GetNextPrime;
Akdom
fonte
-1

Provavelmente é algo específico para o software do seu blog, mas você pode querer experimentar as seguintes strings (remova o caractere de sublinhado): & _lt; & _gt;

OwenP
fonte
-4

A melhor maneira de fazer é não se preocupar com os códigos dos caracteres. Basta envolver todo o seu código dentro das <pre>tags com o seguinte

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

Você precisa ter o jQuery habilitado para que funcione.

PanicBus
fonte
1
Isso não é melhor. Você precisaria então escapar do seu conteúdo para JavaScript. Em alguns casos, ainda é possível sair do JavaScript. Por exemplo, e se o conteúdo contivesse </pre>?
Brad