function s(h){ h=h.replace(/<(\/?)([^>\!\s]+)(.*?)>/gi,r); /**//* 內(nèi)部函數(shù) 功能: a 將標(biāo)簽名轉(zhuǎn)為小寫 b 為無結(jié)束符的標(biāo)簽加入 / c 轉(zhuǎn)換無內(nèi)容屬性:disabled="disabled" */ function r(){ var a=arguments; for (var i=0;i<a.length;i++) a[i]=a[i]?a[i]:''; a[2]=a[2].toLowerCase(); a[3]=a[3].replace(/([^\s=]+)\s*=\s*([^\s'"]+)/gi,'$1="$2"'); a[3]=a[3].replace(/(\S+)/gi,function(a0,a1){if (a1.indexOf('=')<0){return a1.toLowerCase()+'="'+a1.toLowerCase()+'"'}else{return a1;}}); var t=a[2].match(/^(br|hr|input)$/)?"/":"";//自行添加無結(jié)束符的標(biāo)簽名 return ("<"+a[1]+a[2]+a[3]+t+">"); } h=h.replace(/<(li|p|dd)(.*?)>([\s\S]*?)(?=<\1)/mgi,r1);//修改這里,增加那些會省略閉合標(biāo)簽的元素 /* 內(nèi)部函數(shù) 功能: 恢復(fù)被瀏覽器自動刪除的結(jié)束符(如果是代碼不完整導(dǎo)致的結(jié)束符缺失可能無法恢復(fù)) */ function r1(a0,a1,a2,a3){ var t="<"+a1+a2+">"; if (a3.match(new RegExp("<\\/"+a1,"i"))) return t+a3; return t+a3+"</"+a1+">"; } return h; }