Как избежать <и> внутри тегов <pre>

89

Я пытаюсь написать сообщение в блоге, которое включает в себя сегмент кода внутри <pre>тега. Сегмент кода включает универсальный тип и использует<> для определения этого типа. Так выглядит сегмент:

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

В результате HTML удаляется <> и заканчивается следующим образом:

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

Как мне избежать, <>чтобы они отображались в HTML?

моча
источник
3
&lt;и&gt;
Алан Донг
Вы можете просто использовать онлайн-форматировщик: freeformatter.com/html-escape.html
kaore

Ответы:

113
<pre>
    PrimeCalc calc = new PrimeCalc();
    Func&lt;int, int&gt; del = calc.GetNextPrime;
</pre>
Джон Шиэн
источник
17
Мне жаль, что для этого еще не внедрены технологии.
Sathish Kumar kk
Конечно, амперсанд - это тоже то, что нужно указывать в том же контексте, что и угловые скобки, поэтому я не уверен, насколько полезно использовать «&», если «<» и «>» нуждаются в объектах html.
Астара
21
<pre>&gt;</pre>

отображается как:

>

Итак, вы хотите:

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

что получается как:

    PrimeCalc calc = новый PrimeCalc ();
    Func <int, int> del = calc.GetNextPrime;
Крис Марасти-Георг
источник
14

Используйте &lt;and &gt;to do <и >внутри html.

crashmstr
источник
5

Как насчет:

&lt; and &gt;

Надеюсь это поможет?

Инструментарий
источник
2

Что сказал rp , просто замените символы больше (>) и меньше (<) их эквивалентами html-сущности. Вот пример:

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

Это должно выглядеть так (на этот раз с использованием того же самого, без добавленных пробелов для уценки):

    PrimeCalc calc = новый PrimeCalc ();
    Func <int, int> del = calc.GetNextPrime;
акдом
источник
-1

Вероятно, это что-то особенное для программного обеспечения вашего блога, но вы можете попробовать следующие строки (удалите символ подчеркивания): & _lt; & _gt;

OwenP
источник
-4

Лучше всего вообще не беспокоиться о кодах символов. Просто оберните весь свой код в <pre>теги следующими

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

Тем не менее, вам необходимо включить jQuery, чтобы он работал.

PanicBus
источник
1
Это не лучше. Затем вам нужно будет экранировать свой контент для JavaScript. В некоторых случаях все же возможно вырваться из JavaScript. Например, что, если в нем есть контент </pre>?
Брэд,