我正在使用Syntax highlighter库在网页上显示代码。我想强调某些代码段,以响应页面上的各种事件。它可以是单个字符,也可以是多行部分,但它始终是文本的连续部分。
我知道SyntaxHighlighter具有突出显示各个行的功能,但我需要更细粒度的控制。
我知道原始源代码中的选择开始和选择长度点,但是荧光笔已插入了许多html元素,因此再次找到这些索引以将它们包装在另一个标记中有点困难。
我是否可以覆盖现有格式,并将自己的CSS应用于文本的特定部分?是否有不同的语法突出显示插件可能会给我我需要的东西?
答案 0 :(得分:3)
如何通过搜索和替换特定“程序化单词”的函数运行生成的标记,
<span class="customHighlight">word</span>
..你可以按如下方式设置样式,
span.customHighlight {
background:#FAFAD2;
color:#000;
}
我担心这个问题的效率。
编辑:我有一些东西,如果你看一下相对于语言荧光笔的脚本来源(这里是CSS),http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/scripts/shBrushCss.js,
{ regex: /!important/g,
css: 'color3' }, // !important
..呈现为,
<code class="css color3">!important</code>
..所以,只需将“单词”定义为具有等效CSS声明的规则。
答案 1 :(得分:0)
您可以像示例http://www.tripbase.com/code/highlightTutorial.html一样使用jQuery。根据我提供的文本框和onchange事件将突出显示的文本发送到函数,该函数将突出显示文本
如需突出显示并取消突出显示jquery,请访问bartaz.github.com/sandbox.js/jquery.highlight.html