问题
I\'m trying to write a blog post which includes a code segment inside a <pre>
tag. The code segment includes a generic type and uses <>
to define that type. This is what the segment looks like:
<pre>
PrimeCalc calc = new PrimeCalc();
Func<int, int> del = calc.GetNextPrime;
</pre>
The resulting HTML removes the <>
and ends up like this:
PrimeCalc calc = new PrimeCalc();
Func del = calc.GetNextPrime;
How do I escape the <>
so they show up in the HTML?
回答1:
<pre>
PrimeCalc calc = new PrimeCalc();
Func<int, int> del = calc.GetNextPrime;
</pre>
回答2:
<pre>></pre>
renders as:
>
So you want:
<pre>
PrimeCalc calc = new PrimeCalc();
Func<int, int> del = calc.GetNextPrime;
</pre>
which turns out like:
PrimeCalc calc = new PrimeCalc(); Func<int, int> del = calc.GetNextPrime;
回答3:
Use <
and >
to do <
and >
inside html.
回答4:
<
and >
respectively
回答5:
How about:
< and >
Hope this helps?
回答6:
What rp said, just replace the greater-than(>) and less-than(<) symbols with their html entity equivalent. Here's an example:
<pre>
PrimeCalc calc = new PrimeCalc();
Func<int, int> del = calc.GetNextPrime;
</pre>
This should appear as (this time using exactly the same without the prepended spaces for markdown):
PrimeCalc calc = new PrimeCalc(); Func<int, int> del = calc.GetNextPrime;
回答7:
It's probably something specific to your blog software, but you might want to give the following strings a try (remove the underscore character): &_lt; &_gt;
回答8:
A better way to do is not to have to worry about the character codes at all. Just wrap all your code inside the <pre>
tags with the following
<pre>
${fn:escapeXml('
<!-- all your code -->
')};
</pre>
You'll need to have jQuery enabled for it to work, tho.
来源:https://stackoverflow.com/questions/42182/how-to-escape-and-inside-pre-tags