语法荧光笔使用的一般算法是什么?我在正则表达式中使用交替实现了一种简单的方法:
STRING_PATTERN|COMMENT_PATTERN|KEYWORD_PATTERNS
因为检测某个东西是字符串还是模式取决于哪个先出现:
// This is a "comment"
"This is a // string"
但是使用关键字会变得更加复杂。这种方法在我当前的实现中有效,但我不相信它是最佳的。
另一个问题是您突出显示的顺序。如果您在标识符/关键字之前突出显示数字,那么您可能会不小心突出显示关键字中的数字......
编辑:
我的插件现在在这里:http ://wordpress.org/extend/plugins/crayon-syntax-highlighter/