+37
−22
Loading
DevOps 服务已从 Gitea 迁移到 GitLab!
如果正在使用 home.shrabbit.com 且访问较慢,尝试直连服务器: https://shrabbit.com:4000/gitlab
原实现串联 4 个正则依次替换,注释替换生成的 span class 属性值 cb-comment 会被字符串正则再次匹配并嵌套包裹,导致原 span 开头被截断,浏览器无法解析就泄漏成可见文本如 class=class=cb-string>cb-comment>。 改写为 tokenizer 一次扫描:用 sticky 正则 y flag + lastIndex 控制位置,每个字符只被消费一次,匹配成功就跳过整段,彻底避免在已生成 HTML 上重复匹配。同时升级字符串正则支持转义字符。