如何在<pre>标记内转义<和>


88

我正在尝试写一篇博客文章,其中在<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;
Alan Dong

你可以只使用一个在线格式化:freeformatter.com/html-escape.html
kaore

Answers:


111
<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;




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;


-4

更好的方法是根本不必担心字符代码。只需<pre>使用以下代码将所有代码包装在标签中

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

您需要启用jQuery才能使其正常工作。


1
这不是更好。然后,您需要转义JavaScript的内容。在某些情况下,仍然有可能突破JavaScript。例如,如果内容包含</pre>其中呢?
布拉德(Brad)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.