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