3

Brainfuck インタープリターを作成しています ( brainfuckは 8 つの記号で構成されるプログラミング言語です。これらは,.+-<>[])

JavaScript を使用して、HTML テキスト領域内の個々の文字の背景に色を付ける方法はありますか?

私のテキスト領域に「hello world」が含まれているとしましょう。3 番目の文字に色を付けるように指示できるようにしたいので、「he* l *lo world」と表示されます (Stack Overflow エディターに色を含める方法がわからないため、ここでは色を示すために太字を使用しています) )。

誰かがこれを行う方法を知っていますか、それが可能かどうかは? どんな助けでも大歓迎です:=)

4

2 に答える 2

3

Mukul が私の頭に種を蒔いたと思いますが、次のようなものが役に立ちますか?

<textarea id="editor"></textarea>
<div id="render"> </div>

<script>

$(document).ready(function() {
  $("#editor").keyup(function() {
  var plaincontent = $("#editor").val();
  var richcontent = "";

  for (var i=0; i<plaincontent.length; i++) {
    if (plaincontent.charAt(i) == "[") {
      richcontent = richcontent + "<span style='color:#f00'>[</span>";
    } else {
      richcontent = richcontent + plaincontent.charAt(i);
    }
  }
  $("#render").html(richcontent);
});
});

</script>

基本的に、テキストエリアに入力した内容を取得し、下の div に吐き出しますが、入力した文字に応じてスパンにラップします。上記のデモでは、[キャラクターは赤で表示されます。

さまざまな法的な文字すべてに対して微調整する必要があります。

于 2013-03-01T15:53:13.023 に答える
0

これを行うことは不可能に思えますが、私が考えることができる1つのトリックは、すべてのキャラクターに複数のスパンを使用し、選択に応じて背景色を与えることです。

javascriptを使用すると、子セレクターを使用して任意の文字にアクセスできます。

于 2013-03-01T11:17:30.487 に答える