2010-12-10 93 views
2

我想知道如何在浏览器中将文本区域编辑为程序员文本编辑器。 对于任何使用textmate的人 - 我基本上都希望它基于Web。 任何使用记事本++的人 - 与上述相同的想法。如何让我的文本区域自动格式化文本

我知道如何使用html制作文本区域 。 我不知道如何标记文本区域。例如 。在记事本++和textmade中,我可以插入<>标签,它会突出显示蓝色文本。我怎样才能在浏览器中实现这一点? 我已经知道如何在文本发布后解析它。 我希望在用户输入时解析它。

+1

的代码不会是简单的在所有的,我建议你使用一个带有IFRAME CONTENTEDITABLE'=“真”'。因为textarea只能有一种样式,并且内容可编辑的iframe支持多种样式。 – JCOC611 2010-12-10 23:48:34

回答

0

编辑:我误解了这个问题一点。如果您好奇,请跳至原始答案。

编辑2:我的答案是如何提供语法突出显示(问题本身指定的内容)。突出显示与语法无关的单个字符需要简单的JavaScript。这也与'自动格式'有所不同,'自动格式'通常被解释为'调整我的缩进水平,因此一切看起来都不错'。

这是一项艰巨的任务,但并不像看起来那样不可能。 TextMate再一次以不同的方式来拯救我们。

在TextMate中,打开包编辑器并查看HTML的语言定义。这些是正则表达式,它处理文档并为每个作品分配一个“范围”。

'简单'将该语言定义格式解析为各种组件,然后像TextMate一样使用正则表达式来分配范围/颜色。一块蛋糕,对吧? :)

我个人会从最轻量级的开源富文本编辑器开始,然后将其转化为它。或者你知道,无论漂浮在你的船上。

我希望给你一些好点子。

原来的答案:

对于Firefox,你可以安装插件 '这是所有文本' 从这里开始: https://addons.mozilla.org/en-US/firefox/addon/4125/

它为我用3.6.12。将首选项中的路径设置为TextMate(或其他),并可选择设置热键或根据自己的喜好调整其他设置。默认情况下,当你的光标在Textarea上时,会出现一个说“Edit”的小按钮,并在你的编辑器中打开Textarea的内容。保存将把数据放回Textarea。

我希望这会有所帮助。