如何逃脱< and >内<pre>标签

问题描述 投票:0回答:9

我正在尝试编写一篇博客文章,其中包含

<pre>
标签内的代码段。代码段包含一个泛型类型并使用
<>
来定义该类型。这就是该段的样子:

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

生成的 HTML 删除了

<>
,最终结果如下:

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

如何转义

<>
以便它们显示在 HTML 中?

html escaping blogger markup pre
9个回答
125
投票
<pre>
    PrimeCalc calc = new PrimeCalc();
    Func&lt;int, int&gt; del = calc.GetNextPrime;
</pre>

22
投票
<pre>&gt;</pre>

呈现为:

>

所以你想要:

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

结果是这样的:

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

17
投票

使用

&lt;
&gt;
在 html 中执行
<
>


8
投票
分别是

&lt;
&gt;


7
投票

怎么样:

&lt; and &gt;

希望这有帮助吗?


3
投票

rp 所说的,只需替换大于(>)和小于(<) symbols with their html entity equivalent. Here's an example:

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

这应该显示为(这次使用完全相同的内容,没有为降价添加前置空格):

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

1
投票

要在网页上显示代码,您必须同时使用

pre
code
元素。

code
元素代表计算机代码片段。这可以是 XML 元素名称、文件名、计算机程序或计算机可以识别的任何其他字符串。

pre
元素表示预格式化文本块,其中结构由印刷约定而不是元素表示。

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

确保代码在页面上正确显示,同时防止浏览器可能解释内容。


-1
投票

这可能是您的博客软件特有的,但您可能想尝试以下字符串(删除下划线字符): &_lt; &_gt;


-6
投票

更好的方法是根本不必担心字符代码。只需将所有代码包含在

<pre>
标签内,并使用以下内容

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

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

© www.soinside.com 2019 - 2024. All rights reserved.