<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;
アラン・ドン

あなただけのオンラインフォーマッタを使用することができます。freeformatter.com/html-escape.html
kaore

回答:


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

17
まだ導入されている技術がないのが残念です。
Sathish Kumar kk 14

もちろん、アンパサンドも山かっこと同じコンテキストで引用する必要があるので、「<」と「>」がhtmlエンティティを必要とする場合に「&」を使用することがどれほど役立つかはわかりません。
Astara 2017年

21
<pre>&gt;</pre>

としてレンダリング:

>

あなたが望んでいるのは:

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

それは次のようになります:

    PrimeCalc calc = new 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 = new 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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.