Textarea可以在飞行中进行语法高亮显示?
为了便于维护,我在CMS内部存储了许多HTML块。 它们由<textarea>
表示。
有没有人知道某种types的JavaScript Widget可以在textarea
或类似的语言中对HTML进行语法高亮显示,同时仍然保留一个纯文本编辑器(没有WYSIWYG或高级函数)?
在一个正规的textarea中,不可能达到要求的控制水平。
如果你确定,尝试CodeMirror或Ace (以前的skywriter和bespin )。
从重复的线程 – 一个强制性的维基百科链接: http : //en.wikipedia.org/wiki/Comparison_of_JavaScript-based_source_code_editors
下面是我对程序员的 一个类似的问题 ( 在线代码编辑器 ) 的回应 :
首先,你可以看看这篇文章:
维基百科 – 基于JavaScript的源代码编辑器的比较 。
更多,这里有一些工具,似乎符合您的要求:
-
EditArea – 作为 Yii扩展的 FileEditor 演示 – ( Apache软件许可,BSD,LGPL )
这里是EditArea,一个免费的JavaScript编辑器的源代码。 它允许使用行数字,标签支持,search和replace(使用正则expression式)和实时语法突出显示(可定制)编写格式良好的源代码。
-
CodePress – Joomla的演示! CodePress插件 – ( LGPL ) – 它不适用于Chrome,它看起来像开发已经停止。
CodePress是基于Web的源代码编辑器,其语法突出显示使用JavaScript编写,可在浏览器中input文字时实时着色文本。
-
CodeMirror – 许多演示之一 – ( MIT风格的许可证+可选的商业支持 )
CodeMirror是一个JavaScript库,可用于为类似代码的内容(计算机程序,HTML标记等)创build一个相对愉快的编辑器界面。 如果为编辑的语言编写了一个模式,则代码将被着色,编辑器可以select性地帮助您缩进
-
Ace Ajax.org Cloud9编辑器 – 演示 – ( Mozilla tri-license(MPL / GPL / LGPL) )
Ace是一个用JavaScript编写的独立代码编辑器。 我们的目标是创build一个基于Web的代码编辑器,以匹配和扩展现有的本地编辑器(如TextMate,Vim或Eclipse)的function,可用性和性能。 它可以很容易地embedded到任何网页和JavaScript应用程序中。 Ace是Cloud9 IDE的主要编辑器,也是Mozilla Skywriter(Bespin)项目的继任者。
CodePress和EditArea一样 。 两者都是开源的。
我会build议EditArea用于语法高亮textarea的实时编辑。
更新: Bespin现在是ACE,这是最高评分的答案。 改用ACE。
和Mozilla一起去Bespin 它是使用HTML5特性构build的(所以速度快,但是不支持传统浏览器),但是使用和击败我所遇到的所有事情 – 可能是因为它是Mozilla的支持,而且他们开发的Firefox也是如此。还有一个jQuery插件,其中包含一个扩展,使它更容易与jQuery一起使用。
我所知道的唯一一个编辑器具有语法高亮显示function,而对于一个textarea的备份则是Mozilla Bespin 。 谷歌围绕embedded贝斯平来看看如何embedded编辑器。 我知道的唯一一个使用这个的站点是非常stream行的Mozilla Jetpack Gallery (在提交一个Jetpack页面),你可能想看看它们是如何包含它的。
还有一个关于embedded和重用Bespin编辑器的博客文章 ,可以帮助你。
你为什么把它们表示为textareas? 这是我最喜欢的:
http://alexgorbatchev.com/wiki/SyntaxHighlighter
但是如果你使用CMS,那么可能会有更好的插件。 例如,wordpress有一个演变的版本:
http://www.viper007bond.com/wordpress-plugins/syntaxhighlighter/