我在做一个brainfuck解释器(brainfuck是一种由8个符号组成的编程语言,它们是,.+-<>[]
有没有办法通过JavaScript给HTML文本区域中的单个字符的背景上色?
假设我的文本区域包含“hello world”。我想告诉它给第三个字母上色,这样它就会显示“he*l*lo world”(这里用粗体来说明颜色,因为我不知道如何在堆栈溢出编辑器中包含颜色)。
有人知道怎么做吗,或者如果有可能的话?
任何帮助都将不胜感激:=)

最佳答案

我想穆库尔把种子种在了我的脑子里,但这样的东西有用吗

<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中将其输出,但根据您输入的字符将其包装成跨度数。在上面的演示中,[字符将以红色显示。
你将不得不调整它为所有不同的法律字符。

09-25 16:58