使用jQuery在文本框中突出显示代码的方法是什么?

12

有没有通过jQuery在文本区域内突出显示代码的好的、逻辑性强的方法? 如果有,请分享。


1
你的意思是任何被包裹在 <code> 标签中的内容吗? - bimbom22
5个回答

22
您可以使用CodeMirror http://codemirror.net/。它是一款基于JavaScript实现的多功能文本编辑器,专门用于编辑代码,并配备了许多语言模式插件,实现了更高级的编辑功能。
CodeMirror提供了丰富的编程API和CSS 主题系统,可用于定制CodeMirror以适合您的应用程序,并通过添加新功能进行扩展...

4
我知道现在已经很晚了,但我不明白如何使用CodeMirror。 - user115422

4
不,没有。你可以对整个textarea应用样式,但不能对其中的部分文本应用样式。
你需要使用一个替代textarea的工具,这里是一些列表

1
你可以使用以下搜索代码来突出显示文本的一部分:
<script type="text/javascript">
    $(document).ready(function() {
        $("textarea").highlightTextarea({
              words: ["first word","an other word"]
        });
    });
</script>

文本区域中突出显示文本方面了解更多信息。


1
如果您所说的代码是指SQL、PHP等,可以看看Codepress。它是一个实时的、语法高亮的编辑器,用Javascript编写。 编辑: 如果您更喜欢一种更现代化且积极维护的替代方案,可以看看Ace

0
我也在寻找最佳的实时语法着色解决方案,所以我找到了一个可用的、古老的软件(2007年),比textarea(也可用)还要旧:

1.Codepress

https://sourceforge.net/projects/codepress/files/

然后在index.html中,将第117行替换为

<textarea spellcheck="false" id="codepress2" class="codepress javascript linenumbers-off" style="width:700px;height:200px;" wrap="off">

将会有类似于Notepad++/EditPlus的实时语法高亮功能,意味着小代码可以被“重新绘制”、“重铸”到这个时代...

这取决于你...

2.MIT LDT=极简主义语法高亮
https://github.com/kueblc/LDT

...我所做的所有测试都在一个自定义的Apache PHP 8.1 MariaDB自定义服务器远程无漏洞/间谍)中进行,因此这两个工具运行良好!

所以答案是:如果您愿意重新编码某些内容,这些内容可以使用作者接受的jQuery进行重新编码(有关更多信息,请查看许可证)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接