function s(h){ h=h.replace(/<(\/?)([^>\!\s]+)(.*?)>/gi,r); /**//* 內部函數 功能: a 將標簽名轉為小寫 b 為無結束符的標簽加入 / c 轉換無內容屬性: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)$/)?"/":"";//自行添加無結束符的標簽名 return ("<"+a[1]+a[2]+a[3]+t+">"); } h=h.replace(/<(li|p|dd)(.*?)>([\s\S]*?)(?=<\1)/mgi,r1);//修改這里,增加那些會省略閉合標簽的元素 /* 內部函數 功能: 恢復被瀏覽器自動刪除的結束符(如果是代碼不完整導致的結束符缺失可能無法恢復) */ 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; }