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

📄 shbrushxml.js

📁 Ajax下日志框架
💻 JS
字号:
dp.sh.Brushes.Xml = function(){	this.CssClass = 'dp-xml';}dp.sh.Brushes.Xml.prototype	= new dp.sh.Highlighter();dp.sh.Brushes.Xml.Aliases	= ['xml', 'xhtml', 'xslt', 'html', 'xhtml'];dp.sh.Brushes.Xml.prototype.ProcessRegexList = function(){	function push(array, value)	{		array[array.length] = value;	}		/* If only there was a way to get index of a group within a match, the whole XML	   could be matched with the expression looking something like that:		   (<!\[CDATA\[\s*.*\s*\]\]>)	   | (<!--\s*.*\s*?-->)	   | (<)*(\w+)*\s*(\w+)\s*=\s*(".*?"|'.*?'|\w+)(/*>)*	   | (</?)(.*?)(/?>)	*/	var index	= 0;	var match	= null;	var regex	= null;	// Match CDATA in the following format <![ ... [ ... ]]>	// <\!\[[\w\s]*?\[(.|\s)*?\]\]>	this.GetMatches(new RegExp('<\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\]>', 'gm'), 'cdata');		// Match comments	// <!--\s*.*\s*?-->	this.GetMatches(new RegExp('<!--\\s*.*\\s*?-->', 'gm'), 'comments');	// Match attributes and their values	// (\w+)\s*=\s*(".*?"|\'.*?\'|\w+)*	regex = new RegExp('([\\w-\.]+)\\s*=\\s*(".*?"|\'.*?\'|\\w+)*', 'gm');	while((match = regex.exec(this.code)) != null)	{		push(this.matches, new dp.sh.Match(match[1], match.index, 'attribute'));			// if xml is invalid and attribute has no property value, ignore it			if(match[2] != undefined)		{			push(this.matches, new dp.sh.Match(match[2], match.index + match[0].indexOf(match[2]), 'attribute-value'));		}	}	// Match opening and closing tag brackets	// </*\?*(?!\!)|/*\?*>	this.GetMatches(new RegExp('</*\\?*(?!\\!)|/*\\?*>', 'gm'), 'tag');	// Match tag names	// </*\?*\s*(\w+)	regex = new RegExp('</*\\?*\\s*([\\w-\.]+)', 'gm');	while((match = regex.exec(this.code)) != null)	{		push(this.matches, new dp.sh.Match(match[1], match.index + match[0].indexOf(match[1]), 'tag-name'));	}}

⌨️ 快捷键说明

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