14

私は単にそのようなものを作りたいです:

<strong>blah blah</strong>

私は長い間これを試みてきましたが、何らかの理由でコードとpreタグを配置するたびに、本来の機能が実行されません。それらはコンテンツのフォーマットを解除します-タグは表示されませんが、フォーマットは表示されません。たとえば、私は書いた:

<pre><b>abc</b></pre>

abcは太字ではないように見えますが、タグ自体が見えません。どうやってやるの?&fdaf;のようなエンティティは使いたくない 入ってくるテキストを書いていませんので

4

8 に答える 8

25

<xmp>タグを使用します。例:

<xmp>
  <html>
    <body>This is my html inside html.</body>
  </html>
</xmp>

内部にスタイルやフォーマットを追加することもできます<xmp>

于 2013-06-01T01:59:30.827 に答える
17

&lt;着信テキストをとに置き換えるのはどうですか&gt;。タグはソースビューに表示されますが、「通常のビュー」には表示されません。

于 2011-03-23T14:02:51.580 に答える
9

いくつかのJavaScriptを使用して、その場で要素を変更できます。

jQueryを使用する場合:

$( 'pre' ).text( $( 'pre' ).html() );

トリックを行います。

于 2011-03-23T14:15:55.887 に答える
8

mkluweも言ったように、JavaScript(またはサーバー側スクリプト)を使用して、ユーザー入力を適切にエスケープする必要があります。試すことができる別のJavaScript関数は次のとおりです。

String.prototype.escapeHTML = function () {                                        
  return(                                                                 
    this.replace(/>/g,'&gt;').
         replace(/</g,'&lt;').
         replace(/"/g,'&quot;')
  );
};
var codeEl = document.getElementById('test');
if (codeEl) {
  codeEl.innerHTML = codeEl.innerHTML.escapeHTML();
}

私はこれをIEでテストしていませんが、理論的にはそこで機能するはずです。結果を表示できるページは次のとおりです。http://jsbin.com/oruri5/2/edit

于 2011-03-23T14:25:52.560 に答える
4

私が知っている最も簡単な方法は、<と>を&lt;に置き換えることです。および&gt; そうすれば、それはもはやhtmlではありません。&symbolsなどのこれらのような他のいくつかのコードがあります。

テキストはどこから来ていますか?それがjavascriptにある場合、最も簡単な方法はjavascriptで正規表現の置換を行うことです。

于 2011-03-23T14:03:16.540 に答える
1

&fdaf;のようなものを書く必要があります ブラウザは、あなたがすべてに対して<pre>を意味していると信じることを拒否するからです。これは正しい動作です。そうでない場合、<pre>セクションからどのように脱出するでしょうか。ドキュメントに目を通す必要があり、すべての<記号の代わりに&lt;を使用する必要があります。大なり記号またはアンパサンド(通常)の場合は、これを行う必要はありません。

于 2011-03-23T14:09:06.893 に答える
1

<xmp>、、<plaintext>およびを使用しないでください<listing>MDNが提案するように使用します。

代わりに、要素を使用する<pre>か、意味的に適切な場合は要素を使用してください。マークアップとして解釈されないように、文字<code>をエスケープする必要があることに注意してください。<&lt;

于 2015-03-19T10:25:26.363 に答える
0

@mkluweの回答に基づいて構築するには、次の例を示します。

<html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js">        </script>
  </head>
  <body>
    <pre>
      <a href="http://localhost:3000/l/1/2/3" target="_blank">
        <img src="http://localhost:3000/b/1/2/3/4" target="_blank">
      </a>
    </pre>
    <script>
      $( 'pre' ).text( $( 'pre' ).html() );
    </script>
  </body>
</html>
于 2015-08-13T20:04:48.437 に答える