Javascript 更改特定代码后字体的颜色

Javascript 更改特定代码后字体的颜色,javascript,html,colors,Javascript,Html,Colors,当在文本区域中键入类似^1的代码时,我希望将该代码之后任何文本的字体颜色更改为^1指定的任何颜色 截至目前,我有以下信息: <form method="post" action="index.php"> <textarea id="text" onkeypressed="changecolor()"></textarea> <input type="submit" value="Add"> </form> 所以基本上,当我输入^1并且

当在文本区域中键入类似^1的代码时,我希望将该代码之后任何文本的字体颜色更改为^1指定的任何颜色

截至目前,我有以下信息:

<form method="post" action="index.php">
<textarea id="text" onkeypressed="changecolor()"></textarea>
<input type="submit" value="Add">
</form>
所以基本上,当我输入^1并且蓝色被分配给该代码时,该代码后面的文本将是蓝色的,但是当输入第二个代码时;示例^2之后的文本将是分配给该代码的颜色

我非常清楚如何将数据插入数据库,但我需要能够找到获取原始数据的方法;i、 e原始键入文本区域的数据,代码为^1和^2


非常感谢你的帮助

您不能将文本区域中的特定文本片段作为目标。我不知道你想做什么,除非你监视它的内容并添加一个抽象的div层来输出样式化的html。 许多wysiwyg文本编辑器都是这样做的,或者使用“contenteditable”属性允许在现代浏览器中进行html编辑。。。 你可以这样开始:

<script type="text/javascript">
    var display, input, displayHtml;
    function init(){
       display = document.getElementById('display');
       input = document.getElementById('input');
    }
    function onContentChange(){
        displayHtml = parseContent(this.value);
        display.innerHtml = displayHtml;
    }
    function parseContent(text){
        var html = ... // Generate html according to content
        return html;
    }
    document.onload=init;
</script>
html:


正如我所说,他们使用textarea允许用户输入,但隐藏它并在其位置添加div元素。他们订阅textarea“change”事件以相应地永久更新div的内容。每次键入内容时,都会相应地在主div内的span、p、h1、h2标记中解析和呈现内容。你可以用跨距和div来实现你想要的。你能给我一个简单的例子来说明如何实现这一点吗?非常感谢!我编辑了我的答案,给你一个如何实现的基本想法。你应该使用jQuery或其他快捷库。非常感谢,我给了你最有用的答案!!P.S.文本区域需要关闭,不是吗这不是复制粘贴代码,这只是一般的想法。。。你有一个安静的发展在你面前实现你想要的。。。
<script type="text/javascript">
    var display, input, displayHtml;
    function init(){
       display = document.getElementById('display');
       input = document.getElementById('input');
    }
    function onContentChange(){
        displayHtml = parseContent(this.value);
        display.innerHtml = displayHtml;
    }
    function parseContent(text){
        var html = ... // Generate html according to content
        return html;
    }
    document.onload=init;
</script>
<textarea id='input' onkeypress="javascript:onContentChange" />
<div id='display'></div>