Jak uciec <i> wewnątrz tagów <pre>

89

Próbuję napisać post na blogu, który zawiera segment kodu wewnątrz <pre>tagu. Segment kodu zawiera typ ogólny i używa <>do zdefiniowania tego typu. Tak wygląda segment:

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

Wynikowy kod HTML usuwa <>i kończy się następująco:

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

Jak uciec przed tym, <>aby pojawiały się w kodzie HTML?

urini
źródło
3
&lt;oraz&gt;
Alan Dong
Możesz po prostu użyć programu formatującego online: freeformatter.com/html-escape.html
kaore

Odpowiedzi:

113
<pre>
    PrimeCalc calc = new PrimeCalc();
    Func&lt;int, int&gt; del = calc.GetNextPrime;
</pre>
John Sheehan
źródło
17
Czuję się źle, że nie ma jeszcze technologii do tego.
Sathish Kumar kk
Oczywiście znak ampersand jest również czymś, co należy cytować w tym samym kontekście, co nawiasy kątowe, więc nie jestem pewien, jak przydatne jest użycie znaków „&”, jeśli „<” i „>” wymagają jednostek html.
Astara
21
<pre>&gt;</pre>

renderuje się jako:

>

Więc chcesz:

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

co wygląda następująco:

    PrimeCalc calc = new PrimeCalc ();
    Func <int, int> del = calc.GetNextPrime;
Chris Marasti-Georg
źródło
14

Użyj &lt;i &gt;do zrobienia <i >wewnątrz html.

crashmstr
źródło
6

&lt;i &gt;odpowiednio

ckpwong
źródło
5

Co powiesz na:

&lt; and &gt;

Mam nadzieję że to pomoże?

zestaw narzędzi
źródło
2

Co powiedział rp , po prostu zamień symbole większe niż (>) i mniejsze niż (<) na ich odpowiedniki encji html. Oto przykład:

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

Powinno to wyglądać następująco (tym razem używając dokładnie tego samego bez spacji poprzedzających przecenę):

    PrimeCalc calc = new PrimeCalc ();
    Func <int, int> del = calc.GetNextPrime;
akdom
źródło
-1

Prawdopodobnie jest to coś specyficznego dla oprogramowania Twojego bloga, ale możesz chcieć wypróbować następujące ciągi (usunąć znak podkreślenia): & _lt; & _gt;

OwenP
źródło
-4

Lepszym sposobem jest nie martwienie się w ogóle o kody znaków. Po prostu zawiń cały kod wewnątrz <pre>tagów za pomocą następującego

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

Musisz mieć włączoną obsługę jQuery, aby działała.

PanicBus
źródło
1
To nie jest lepsze. Będziesz wtedy musiał uciec od treści dla JavaScript. W niektórych przypadkach nadal można wyrwać się z JavaScript. Na przykład, co by było, gdyby treść była </pre>w nim?
Brad