So entkommen Sie <und> innerhalb von <pre> -Tags

88

Ich versuche, einen Blog-Beitrag zu schreiben, der ein Codesegment in einem <pre>Tag enthält. Das Codesegment enthält einen generischen Typ und wird <>zum Definieren dieses Typs verwendet. So sieht das Segment aus:

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

Der resultierende HTML-Code entfernt das <>und endet wie folgt:

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

Wie entkomme ich dem, <>damit sie im HTML angezeigt werden?

Urini
quelle
3
&lt;und&gt;
Alan Dong
Sie könnten nur einen Online - Formatierer verwenden: freeformatter.com/html-escape.html
kaore

Antworten:

111
<pre>
    PrimeCalc calc = new PrimeCalc();
    Func&lt;int, int&gt; del = calc.GetNextPrime;
</pre>
John Sheehan
quelle
17
Ich fühle mich schlecht, dass dafür noch keine Technologie eingeführt wurde.
Sathish Kumar kk
Natürlich muss das kaufmännische Und auch im selben Kontext wie eckige Klammern angegeben werden. Daher bin ich mir nicht sicher, wie nützlich es ist, '&' zu verwenden, wenn '<' und '>' HTML-Entitäten benötigen.
Astara
21
<pre>&gt;</pre>

rendert als:

>

Also du möchtest:

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

was sich herausstellt wie:

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

Verwenden Sie &lt;und &gt;zu tun <und >in HTML.

Crashmstr
quelle
6

&lt;und &gt;jeweils

ckpwong
quelle
5

Wie wäre es mit:

&lt; and &gt;

Hoffe das hilft?

Toolkit
quelle
2

Was rp gesagt hat , ersetzen Sie einfach die Symbole größer als (>) und kleiner als (<) durch ihre HTML-Entitätsäquivalente. Hier ist ein Beispiel:

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

Dies sollte folgendermaßen aussehen (diesmal mit genau demselben ohne die vorangestellten Leerzeichen für das Markdown):

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

Es ist wahrscheinlich etwas Spezielles für Ihre Blog-Software, aber Sie möchten möglicherweise die folgenden Zeichenfolgen ausprobieren (entfernen Sie den Unterstrich): & _lt; & _gt;

OwenP
quelle
-4

Ein besserer Weg ist es, sich überhaupt keine Gedanken über die Zeichencodes machen zu müssen. Wickeln Sie einfach Ihren gesamten Code wie <pre>folgt in die Tags ein

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

Sie müssen jQuery aktiviert haben, damit es funktioniert.

PanicBus
quelle
1
Das ist nicht besser. Sie müssten dann Ihren Inhalt für JavaScript maskieren. In einigen Fällen ist es immer noch möglich, aus dem JavaScript auszubrechen. Was wäre zum Beispiel, wenn der Inhalt </pre>darin enthalten wäre?
Brad