⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fcode.js

📁 网站编辑的软件
💻 JS
📖 第 1 页 / 共 5 页
字号:
var Highlighter = {
  Brushes: {},
  RegexLib: {
    MultiLineCComments : new RegExp('/\\*[\\s\\S]*?\\*/', 'gm'),
    SingleLineCComments : new RegExp('//.*$', 'gm'),
    SingleLinePerlComments : new RegExp('#.*$', 'gm'),
    DoubleQuotedString : new RegExp('"(?:\\.|(\\\\\\")|[^\\""\\n])*"','g'),
    SingleQuotedString : new RegExp("'(?:\\.|(\\\\\\')|[^\\''\\n])*'", 'g')
  },
  Match: function(value, index, css){
    this.value = value;
    this.index = index;
    this.length = value.length;
    this.css = css;
  },
  Execute: function(str,lang){
	//alert(lang);
    var registered = new Object();
    for(var brush in Highlighter.Brushes){
      var aliases = Highlighter.Brushes[brush].Aliases;
      if(aliases == null) continue;
      for(var i=0;i<aliases.length;i++) registered[aliases[i].toLowerCase()] = brush;
    };
    if(!!registered[lang.toLowerCase()]){
      var ht = new Highlighter.Brushes[registered[lang.toLowerCase()]]();
      
      return ht.Highlight(str);
    } else {
		//alert(lang);
      str = str.replace(/&/g, '&amp;');
      str = str.replace(/</g, '&lt;');
      str = str.replace(/>/g, '&gt;');
      str = str.replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;');
      str = str.replace(/[ ]{2}/g, '&nbsp;&nbsp;');
      return str.replace(/\n/g, '<br/>');
    }
  }
};

Highlighter.Brushe = new Function();
Highlighter.Brushe.SortCallback = function(m1, m2){
  if(m1.index < m2.index)
    return -1;
  else if(m1.index > m2.index)
    return 1;
  else {
    if(m1.length < m2.length)
      return -1;
    else if(m1.length > m2.length)
      return 1;
  }
  return 0;
}
Highlighter.Brushe.prototype = {
  GetMatches: function(regex, css){
    var index = 0;
    var match = null;  
    while((match = regex.exec(this.code)) != null)
      this.matches.push(new Highlighter.Match(match[0], match.index, css));
  },
  AddBit: function(str, css){
    if(str == null || str.length == 0)
      return;  
    str = str.replace(/&/g, '&amp;');
    str = str.replace(/</g, '&lt;');
    str = str.replace(/>/g, '&gt;');
    str = str.replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;');
    str = str.replace(/[ ]{2}/g, '&nbsp;&nbsp;');
    str = str.replace(/\n/g, '<br/>');    
    if(css != null)
      this.buffer.push('<span style="' + css + '">' + str + '</span>');
    else
      this.buffer.push(str);
  },
  ProcessRegexList: function(){
    for(var i = 0; i < this.regexList.length; i++)
      this.GetMatches(this.regexList[i].regex, this.regexList[i].css);
  },
  Highlight: function(code){
    function Trim(str){
      return str.replace(/^\s*(.*?)[\s\n]*$/g, '$1');
    }
    function Unindent(str){
      var lines = str.split('\n');
      var indents = new Array();
      var regex = new RegExp('^\\s*', 'g');
      var min = 1000;  
      for(var i = 0; i < lines.length && min > 0; i++){

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -