0

コード例 (HTML、JavaScript、CSS など) を含むサイトを作成しようとしていますが、ブラウザーがコードをテキスト以外のものとして解釈せずにコードを表示する方法を理解する必要があります。

テキストから <, > を変換する JavaScript 関数を作成し、結果を書き込みますが、ブラウザーはまだ < /script > を認識しているようです (/script.

        function codeToHTML(input) {
            var output = "";
            for(i=0;i<input.length;i++) {
                var c = input.charAt(i);
                if(c=='<') {
                    output+="&lt;";
                } else if (c=='>') {
                    output+="&gt;"; 
                } else if (c=='\n') {
                    output+="<br>";
                } else if (c==' ') {
                    output+="&nbsp;";
                } else {
                    output+=c;
                }
            }
            return output;
        }

これにアプローチするより良い方法はありますか?

4

1 に答える 1

2

HTML5 には非常に便利な<code>タグ機能があり、入力したものはすべてコード形式で表示されます。タグを使用して、<pre>希望どおりに表示することもできます。

特殊文字を具体的に処理することについて話している場合は、そのための js を作成できると思いますが、それらが静的な例になる場合は、単純にバックスラッシュを付けたり、適切なコードを記述したりする方が簡単だと思います。あなたのJavaScriptで。考えてみれば、スクリプトが実行されるのは、<script>タグが検出されたときです。それを取り除くと、それを実行しないことを知っているので、実行するだけです&ltscript&gt。面倒に聞こえますが、長期的には面倒が少なくなると思います。理想的には、HTML はコンテンツに焦点を当てる必要があります。コードの表示は Javascript ではなく、コンテンツに関するものだと思います。

大量のコードを扱っている場合は、HTML コンバーターを使用することもできます。お役に立てれば。

于 2012-08-26T09:28:09.050 に答える