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

📄 xhtmleditor.js

📁 从此不再用那些文章系统来做图片站了!有了专业的图片站程序了! 1:采用MSSQL数据库
💻 JS
📖 第 1 页 / 共 2 页
字号:
	if(	tag=="TEXTAREA"||tag=="TABLE"||tag=="THEAD"||tag=="TBODY"||		tag=="TR"||tag=="OL"||tag=="UL"||tag=="DIR"||tag=="MENU"||		tag=="FORM"||tag=="SELECT"||tag=="MAP"||tag=="DL"||tag=="HEAD"||		tag=="BODY"||tag=="HTML")		arrReturn=["\n","","\n"];	if(	tag=="STYLE"||tag=="SCRIPT")		arrReturn=["\n","",""];	if(tag=="BR"||tag=="HR")		arrReturn=["","\n",""];	return arrReturn;	}function fixAttr(s)	{	s = String(s).replace(/&/g, "&amp;");	s = String(s).replace(/</g, "&lt;");	s = String(s).replace(/"/g, "&quot;");	return s;	}function fixVal(s)	{	s = String(s).replace(/&/g, "&amp;");	s = String(s).replace(/</g, "&lt;");	var x = escape(s);	x = unescape(x.replace(/\%A0/gi, "-*REPL*-"));	s = x.replace(/-\*REPL\*-/gi, "&nbsp;");	return s;	}function recur(oEl,sTab)	{	var sHTML="";	for(var i=0;i<oEl.childNodes.length;i++)		{		var oNode=oEl.childNodes(i);		if(oNode.nodeType==1)//tag			{						var sTagName = oNode.nodeName;			            var sCloseTag = oNode.outerHTML;            if (sCloseTag.indexOf("<?xml:namespace") > -1) sCloseTag=sCloseTag.substr(sCloseTag.indexOf(">")+1);            sCloseTag = sCloseTag.substring(1, sCloseTag.indexOf(">"));            if (sCloseTag.indexOf(" ")>-1) sCloseTag=sCloseTag.substring(0, sCloseTag.indexOf(" "));			var bDoNotProcess=false;			if(sTagName.substring(0,1)=="/")				{				bDoNotProcess=true;//do not process				}			else				{				/*** tabs ***/				var sT= sTab;								sHTML+= lineBreak1(sTagName)[0];				if(lineBreak1(sTagName)[0] !="") sHTML+= sT;//If new line, use base Tabs				/************/				}			if(bDoNotProcess)				{				;//do not process				}			else if(sTagName=="OBJECT" || sTagName=="EMBED")				{				s=oNode.outerHTML;				s=s.replace(/\"[^\"]*\"/ig,function(x){						x=x.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/'/g, "&apos;").replace(/\s+/ig,"#_#");						return x});				s=s.replace(/<([^ >]*)/ig,function(x){return x.toLowerCase()});						s=s.replace(/ ([^=]+)=([^"' >]+)/ig," $1=\"$2\"");//new				s=s.replace(/ ([^=]+)=/ig,function(x){return x.toLowerCase()});				s=s.replace(/#_#/ig," ");				s=s.replace(/<param([^>]*)>/ig,"\n<param$1 />").replace(/\/ \/>$/ig," \/>");//no closing tag				if(sTagName=="EMBED")					if(oNode.innerHTML=="")						s=s.replace(/>$/ig," \/>").replace(/\/ \/>$/ig,"\/>");//no closing tag				s=s.replace(/<param name=\"Play\" value=\"0\" \/>/,"<param name=\"Play\" value=\"-1\" \/>");				sHTML+=s;				}			else if(sTagName=="TITLE")				{				sHTML+="<title>"+oNode.innerHTML+"</title>";				}			else				{				if(sTagName=="AREA")					{					var sCoords=oNode.coords;					var sShape=oNode.shape;					}				var oNode2=oNode.cloneNode();				if (oNode.checked) oNode2.checked=oNode.checked;				s=oNode2.outerHTML.replace(/<\/[^>]*>/,"");				s = s.replace(/(\r\n)+/,"");				if(sTagName=="STYLE")					{					var arrTmp=s.match(/<[^>]*>/ig);					s=arrTmp[0];					}				s=s.replace(/\"[^\"]*\"/ig,function(x){						//x=x.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/'/g, "&apos;").replace(/\s+/ig,"#_#");						//x=x.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\s+/ig,"#_#");						x=x.replace(/&/g, "&amp;").replace(/&amp;amp;/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\s+/ig,"#_#");						return x});						//info ttg: .replace(/&amp;amp;/g, "&amp;")						//ini karena '&' di (hanya) '&amp;' selalu di-replace lagi dgn &amp;.						//tapi kalau &lt; , &gt; tdk (no problem) => default behaviour				s=s.replace(/<([^ >]*)/ig,function(x){return x.toLowerCase()});						s=s.replace(/ ([^=]+)=([^" >]+)/ig," $1=\"$2\"");				s=s.replace(/ ([^=]+)=/ig,function(x){return x.toLowerCase()});				s=s.replace(/#_#/ig," ");				//single attribute				s=s.replace(/[<hr]?(noshade)/ig,"noshade=\"noshade\"");				s=s.replace(/[<input]?(checked)/ig,"checked=\"checked\"");				s=s.replace(/[<select]?(multiple)/ig,"multiple=\"multiple\"");				s=s.replace(/[<option]?(selected)/ig,"selected=\"true\"");				s=s.replace(/[<input]?(readonly)/ig,"readonly=\"readonly\"");				s=s.replace(/[<input]?(disabled)/ig,"disabled=\"disabled\"");				s=s.replace(/[<td]?(nowrap )/ig,"nowrap=\"nowrap\" ");				s=s.replace(/[<td]?(nowrap\>)/ig,"nowrap=\"nowrap\"\>");				s=s.replace(/ contenteditable=\"true\"/ig,"");				if(sTagName=="AREA")					{					s=s.replace(/ coords=\"0,0,0,0\"/ig," coords=\""+sCoords+"\"");					s=s.replace(/ shape=\"RECT\"/ig," shape=\""+sShape+"\"");					}				var bClosingTag=true;				if(sTagName=="IMG"||sTagName=="BR"||					sTagName=="AREA"||sTagName=="HR"||					sTagName=="INPUT"||sTagName=="BASE"||					sTagName=="LINK")//no closing tag					{					s=s.replace(/>$/ig," \/>").replace(/\/ \/>$/ig,"\/>");//no closing tag					bClosingTag=false;						}				sHTML+=s;				/*** tabs ***/				if(sTagName!="TEXTAREA")sHTML+= lineBreak1(sTagName)[1];				if(sTagName!="TEXTAREA")if(lineBreak1(sTagName)[1] !="") sHTML+= sT;//If new line, use base Tabs				/************/				if(bClosingTag)					{					/*** CONTENT ***/					s=oNode.outerHTML;										if(sTagName=="SCRIPT")						{						s = s.replace(/<script([^>]*)>[\n+\s+\t+]*/ig,"<script$1>");//clean spaces						s = s.replace(/[\n+\s+\t+]*<\/script>/ig,"<\/script>");//clean spaces						s = s.replace(/<script([^>]*)>\/\/<!\[CDATA\[/ig,"");						s = s.replace(/\/\/\]\]><\/script>/ig,"");						s = s.replace(/<script([^>]*)>/ig,"");						s = s.replace(/<\/script>/ig,"");								s = s.replace(/^\s+/,'').replace(/\s+$/,'');												sHTML+="\n"+							sT + "//<![CDATA[\n"+							sT + s + "\n"+							sT + "//]]>\n"+sT;						}					if(sTagName=="STYLE")						{						s = s.replace(/<style([^>]*)>[\n+\s+\t+]*/ig,"<style$1>");//clean spaces						s = s.replace(/[\n+\s+\t+]*<\/style>/ig,"<\/style>");//clean spaces									s = s.replace(/<style([^>]*)><!--/ig,"");						s = s.replace(/--><\/style>/ig,"");						s = s.replace(/<style([^>]*)>/ig,"");						s = s.replace(/<\/style>/ig,"");								s = s.replace(/^\s+/,"").replace(/\s+$/,"");											sHTML+="\n"+							sT + "<!--\n"+							sT + s + "\n"+							sT + "-->\n"+sT;						}					if(sTagName=="DIV"||sTagName=="P")						{						if(oNode.innerHTML==""||oNode.innerHTML=="&nbsp;")							{							sHTML+="&nbsp;";							}						else sHTML+=recur(oNode,sT+"\t");						}					else						{						sHTML+=recur(oNode,sT+"\t");						}					/*** tabs ***/					if(sTagName!="TEXTAREA")sHTML+=lineBreak1(sTagName)[2];					if(sTagName!="TEXTAREA")if(lineBreak1(sTagName)[2] !="")sHTML+=sT;//If new line, use base Tabs					/************/                    if (sCloseTag.indexOf(":") >=0)                         {					        sHTML+="</" + sCloseTag.toLowerCase() + ">";//spy bisa <a:b>                        }                     else                        {					        sHTML+="</" + sTagName.toLowerCase() + ">";                        }					}				}			}		else if(oNode.nodeType==3)//text			{			sHTML+= fixVal(oNode.nodeValue);			}		else if(oNode.nodeType==8)			{			if(oNode.outerHTML.substring(0,2)=="<"+"%")				{//server side script				sTmp=(oNode.outerHTML.substring(2));				sTmp=sTmp.substring(0,sTmp.length-2);				sTmp = sTmp.replace(/^\s+/,"").replace(/\s+$/,"");				/*** tabs ***/				var sT= sTab;				/************/				sHTML+="\n" +					sT + "<%\n"+					sT + sTmp + "\n" +					sT + "%>\n"+sT;				}			else				{//comments				sTmp=oNode.nodeValue;				sTmp = sTmp.replace(/^\s+/,"").replace(/\s+$/,"");				sHTML+="\n" +					sT + "<!--\n"+					sT + sTmp + "\n" +					sT + "-->\n"+sT;				}			}		else			{			;//Not Processed			}		}	return sHTML;	}	function edt_toggleViewSource(chk) {    if (chk.checked) {        //view souce        this.viewSource();    } else {        //wysiwyg mode        this.applySource();    }}function edt_viewSource() {    var oEditor=eval("idContent" + this.oName);    	this.cleanDeprecated();	var sHTML=recur(oEditor.document.body,"");    var docBody = oEditor.document.body;    docBody.innerHTML = "";    docBody.innerText = sHTML.replace(/\n+/, "");}function edt_applySource() {    var oEditor=eval("idContent" + this.oName);        var s = oEditor.document.documentElement.outerHTML;    var arrTmp = s.split("<BODY")    var beforeBody = arrTmp[0] + "<BODY" + arrTmp[1].substring(0, arrTmp[1].indexOf(">")+1);    var afterBody = s.substr(s.indexOf("</BODY>"));    var body = oEditor.document.body.innerText    //alert(beforeBody + oEditor.document.body.innerText + afterBody);        var oDoc = oEditor.document.open("text/html", "replace");    oDoc.write(beforeBody + body + afterBody);    oDoc.close();    oEditor.document.body.contentEditable=true    oEditor.document.execCommand("2D-Position", true, true);    oEditor.document.execCommand("MultipleSelection", true, true);    oEditor.document.execCommand("LiveResize", true, true);    oEditor.document.body.onmouseup=function() { oUtil.oEditor = oEditor } ;}	    

⌨️ 快捷键说明

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