Modificare il file:
\FckEditor\plugins\CleanUp\CleanUp.asp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>HTML CleanUp</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta content="noindex, nofollow" name="robots"> <script language="javascript"> var oEditor = window.parent.InnerDialogLoaded() ; var FCKLang = oEditor.FCKLang ; window.onload = function () { oEditor.FCKLanguageManager.TranslatePage(document) ; window.parent.SetOkButton(true) ; } function Ok() { CTHTMLCleaner.TagCleaner(); return true ; } </script> </head> <body scroll="no" style="OVERFLOW: hidden"><table style="display: none"><tr><td id="temporary"></td></tr></table><a href="#" style="display: none" id="labelQuery"></a><a href="?" style="display: none" id="query"></a><a href="/" style="display: none" id="rootQuery"></a><a href="" style="display: none" id="defaultQuery"></a> <form name="ChangeForm" id="ChangeForm" onsubmit="return false"> <table border="0" cellspacing="4" cellpadding="0"> <tr> <td valign="top"> <fieldset> <legend><span fcklang="CleanUpDlgTags">Tags</span></legend> <input type="radio" name="ChangeTList" value="0" id="ChTListNone"> <span fcklang="CleanUpDlgTags1">Don't delete tags</span><br> <input type="radio" name="ChangeTList" value="1" id="ChTList" checked onclick="if(document.all['ChAListOnly'].checked){document.all['ChTListNone'].checked=true}"> <span fcklang="CleanUpDlgTags2">Delete selected tags</span> <div id="InfoArea" style="color: red; margin-left: 5px; margin-top: 3px; font-weight: bold"></div> </fieldset> </td> <td> <fieldset> <legend><span fcklang="CleanUpDlgAttrs">Attributes</span></legend> <input type="radio" name="ChangeAList" value="0"> <span fcklang="CleanUpDlgAttrs1">Don't delete attributes</span><br> <input type="radio" name="ChangeAList" id="ChAListAll" value="1" checked> <span fcklang="CleanUpDlgAttrs2">Delete all attributes</span><br> <input type="radio" name="ChangeAList" id="ChAListOnly" value="2" onclick="document.all['ChTListNone'].checked=true"> <span fcklang="CleanUpDlgAttrs3">Delete selected attributes</span> </fieldset> </td> </tr> <tr> <td> <select name="TagList" size="14" multiple id="TList" style="width:250"> </select> </td> <td> <select name="AttributeList" size="14" multiple id="AList" style="width:250"> </select> </td> </tr> <tr> <td> <input type="checkbox" id="BadSpacer" checked><span fcklang="CleanUpDlgOpt1">Delete double spaces and</span> (&nbsp;)<br> <input type="checkbox" id="emptyTags" checked><span fcklang="CleanUpDlgOpt2">Delete empty tags</span> (<P></P>) </td> </tr> </table> </form> <script language="JavaScript"> var Locked = true; var CTHTMLCleaner = new Object(); CTHTMLCleaner.BedTagsRegExp = new RegExp("xml:|o:p|font|span", "i"); //BED TAGS CTHTMLCleaner.BedAttribRegExp = new RegExp("lang|size|face|style|class|width|height", "i"); //BED ATTRIBUTES CTHTMLCleaner.clearEmptyTags = new RegExp("span|div|font|p|b|i|u", "i"); //Remove empty tags CTHTMLCleaner.TList = document.getElementById("TList"); CTHTMLCleaner.AList = document.getElementById("AList"); CTHTMLCleaner.ChTList = document.getElementById("ChTList"); CTHTMLCleaner.ChAListAll = document.getElementById("ChAListAll"); CTHTMLCleaner.ChAListOnly = document.getElementById("ChAListOnly"); CTHTMLCleaner.temporary = document.getElementById("temporary"); CTHTMLCleaner.BadSpacer = document.getElementById("BadSpacer"); CTHTMLCleaner.emptyTags = document.getElementById("emptyTags"); if(window.dialogArguments) { CTHTMLCleaner.temporary.innerHTML = oEditor.FCK.EditorDocument.body.innerHTML; } else { document.getElementById("InfoArea").outerHTML = "<span fcklang=CleanUpError2>Document empty</span>"; } CTHTMLCleaner.TagAnalizer = function() { CTHTMLCleaner.DATA = CTHTMLCleaner.temporary.innerHTML.replace(/\s/g, " "); CTHTMLCleaner.DATA = CTHTMLCleaner.DATA.replace(/ /g, " "); CTHTMLCleaner.Val = CTHTMLCleaner.DATA; CTHTMLCleaner.Val = CTHTMLCleaner.Val.replace(/>/ig, ">\n"); CTHTMLCleaner.TagList_arr = CTHTMLCleaner.Val.match(/<.*>/ig); if (CTHTMLCleaner.TagList_arr) { CTHTMLCleaner.TagList_arr.sort(); CTHTMLCleaner.UniqueTagList = ""; CTHTMLCleaner.oldValue= CTHTMLCleaner.newValue = ""; for (i=0; i<CTHTMLCleaner.TagList_arr.length; i++) { CTHTMLCleaner.newValue = CTHTMLCleaner.TagList_arr[i].toUpperCase(); if (CTHTMLCleaner.newValue != CTHTMLCleaner.oldValue) { CTHTMLCleaner.UniqueTagList += CTHTMLCleaner.newValue; CTHTMLCleaner.oldValue = CTHTMLCleaner.newValue; } } CTHTMLCleaner.oldValue = CTHTMLCleaner.newValue = ""; CTHTMLCleaner.UniqueTagList_arr = CTHTMLCleaner.UniqueTagList.split(">"); for (i=0; i<CTHTMLCleaner.UniqueTagList_arr.length; i++) { CTHTMLCleaner.newValue = CTHTMLCleaner.UniqueTagList_arr[i].replace(/\//,""); if (CTHTMLCleaner.newValue.indexOf(" ") != -1) { CTHTMLCleaner.newValue = CTHTMLCleaner.newValue.substring(0, CTHTMLCleaner.newValue.indexOf(" ")); } if (CTHTMLCleaner.newValue) { CTHTMLCleaner.UniqueTagList_arr[i] = CTHTMLCleaner.newValue; } } CTHTMLCleaner.UniqueTagList_arr.sort(); CTHTMLCleaner.oldValue= CTHTMLCleaner.newValue = ""; for (i=0; i<CTHTMLCleaner.UniqueTagList_arr.length; i++) { CTHTMLCleaner.newValue = CTHTMLCleaner.UniqueTagList_arr[i]; if (CTHTMLCleaner.newValue != CTHTMLCleaner.oldValue) { CTHTMLCleaner.oOpt = document.createElement("OPTION"); CTHTMLCleaner.oOpt.text = CTHTMLCleaner.newValue+">"; if (CTHTMLCleaner.newValue.search(CTHTMLCleaner.BedTagsRegExp) != -1) { CTHTMLCleaner.oOpt.style.color = "#008080"; CTHTMLCleaner.oOpt.selected = true; } CTHTMLCleaner.TList.add(CTHTMLCleaner.oOpt); CTHTMLCleaner.oldValue = CTHTMLCleaner.newValue; } } CTHTMLCleaner.UniqueAttribList_arr = CTHTMLCleaner.UniqueTagList.match(/[a-z]{2,20}=/ig); } else { document.getElementById("InfoArea").innerHTML = "<span fcklang=CleanUpError1>Delete empty tags</span>"; } if (CTHTMLCleaner.UniqueAttribList_arr) { CTHTMLCleaner.UniqueAttribList_arr.sort(); CTHTMLCleaner.oldValue = CTHTMLCleaner.newValue = ""; for (i=0; i<CTHTMLCleaner.UniqueAttribList_arr.length; i++) { CTHTMLCleaner.newValue = CTHTMLCleaner.UniqueAttribList_arr[i]; if (CTHTMLCleaner.newValue != CTHTMLCleaner.oldValue) { CTHTMLCleaner.oOpt = document.createElement("OPTION"); CTHTMLCleaner.oOpt.text = CTHTMLCleaner.newValue.replace(/=/g,""); if (CTHTMLCleaner.newValue.search(CTHTMLCleaner.BedAttribRegExp) != -1) { CTHTMLCleaner.oOpt.style.color = "#008080"; CTHTMLCleaner.oOpt.selected = true; } CTHTMLCleaner.AList.add(CTHTMLCleaner.oOpt); CTHTMLCleaner.oldValue = CTHTMLCleaner.newValue; } } } } CTHTMLCleaner.TagCleaner = function() { CTHTMLCleaner.selectedTags = CTHTMLCleaner.separator = CTHTMLCleaner.freeSelectedTags = ""; if (CTHTMLCleaner.UniqueTagList) { CTHTMLCleaner.ReplaceList = CTHTMLCleaner.UniqueTagList.split(">"); for (i=0; i<CTHTMLCleaner.TList.length; i++) { oOpt = CTHTMLCleaner.TList.options[i]; if (oOpt.selected) { startOpt = oOpt.text.replace(/>/,""); endOpt = startOpt.replace(/</,"</"); CTHTMLCleaner.freeSelectedTags += CTHTMLCleaner.separator + oOpt.text.replace(/([<])|([>])|([</])/g,""); CTHTMLCleaner.selectedTags += CTHTMLCleaner.separator + "(" + startOpt + ")|(" + endOpt + ")"; CTHTMLCleaner.separator="|"; } } } if (CTHTMLCleaner.selectedTags) { CTHTMLCleaner.RegExpSelectedTags = new RegExp(CTHTMLCleaner.selectedTags, "ig"); CTHTMLCleaner.RegExpReplaceList = CTHTMLCleaner.separator = ""; for (i=0; i<CTHTMLCleaner.ReplaceList.length; i++) { if (CTHTMLCleaner.ReplaceList[i].search(CTHTMLCleaner.RegExpSelectedTags) != -1) { CTHTMLCleaner.RegExpReplaceList += CTHTMLCleaner.separator + CTHTMLCleaner.ReplaceList[i] + ">"; CTHTMLCleaner.separator = "|"; } } } if ((CTHTMLCleaner.RegExpReplaceList) && (CTHTMLCleaner.ChTList.checked)) { CTHTMLCleaner.RXRL = CTHTMLCleaner.RegExpReplaceList.replace(/[?]/g,"\\?"); CTHTMLCleaner.RXRL = CTHTMLCleaner.RXRL.replace(/[\^]/g,"\\^"); CTHTMLCleaner.RXRL = CTHTMLCleaner.RXRL.replace(/[$]/g,"\\$"); CTHTMLCleaner.RXRL = CTHTMLCleaner.RXRL.replace(/[*]/g,"\\*"); CTHTMLCleaner.RXRL = CTHTMLCleaner.RXRL.replace(/[+]/g,"\\+"); CTHTMLCleaner.RXRL = CTHTMLCleaner.RXRL.replace(/[\(]/g,"\\("); CTHTMLCleaner.RXRL = CTHTMLCleaner.RXRL.replace(/[\)]/g,"\\)"); CTHTMLCleaner.RegExpReplaceList = new RegExp(CTHTMLCleaner.RXRL, "ig"); CTHTMLCleaner.DATA = CTHTMLCleaner.DATA.replace(CTHTMLCleaner.RegExpReplaceList,""); temporary.innerHTML= CTHTMLCleaner.DATA.replace(/ /g, "\n"); } else { temporary.innerHTML= CTHTMLCleaner.DATA; } CTHTMLCleaner.selectedAttrib = CTHTMLCleaner.separator = ""; for (i=0; i<CTHTMLCleaner.AList.length; i++) { oOpt = CTHTMLCleaner.AList.options[i]; if (oOpt.selected) { CTHTMLCleaner.attr = oOpt.text.toLowerCase(); if (CTHTMLCleaner.attr == "class") { CTHTMLCleaner.attr = "className"; } CTHTMLCleaner.selectedAttrib += CTHTMLCleaner.separator + CTHTMLCleaner.attr; CTHTMLCleaner.separator = "|"; } } if (CTHTMLCleaner.ChAListAll.checked) { if (CTHTMLCleaner.selectedAttrib) { CTHTMLCleaner.selectedAttrib_arr = CTHTMLCleaner.selectedAttrib.split("|"); for (i=0; i<CTHTMLCleaner.temporary.all.length; i++) { for (a=0; a<CTHTMLCleaner.selectedAttrib_arr.length; a++) { CTHTMLCleaner.temporary.all[i].removeAttribute(CTHTMLCleaner.selectedAttrib_arr[a], 0); } } } } if (CTHTMLCleaner.ChAListOnly.checked && CTHTMLCleaner.freeSelectedTags && CTHTMLCleaner.selectedAttrib) { CTHTMLCleaner.selectedAttrib_arr = CTHTMLCleaner.selectedAttrib.split("|"); CTHTMLCleaner.freeSelectedTags_arr = CTHTMLCleaner.freeSelectedTags.split("|"); for (i=0; i<CTHTMLCleaner.freeSelectedTags_arr.length; i++) { CTHTMLCleaner.Tgs = CTHTMLCleaner.temporary.all.tags(CTHTMLCleaner.freeSelectedTags_arr[i]); for (t=0; t <CTHTMLCleaner.Tgs.length; t++) { for (a=0; a<CTHTMLCleaner.selectedAttrib_arr.length; a++) { CTHTMLCleaner.Tgs[t].removeAttribute(CTHTMLCleaner.selectedAttrib_arr[a], 0); } } } } if (CTHTMLCleaner.BadSpacer.checked) { CTHTMLCleaner.temporary.innerHTML = CTHTMLCleaner.temporary.innerHTML.replace(/( )|(\ )/g, " "); } if (CTHTMLCleaner.emptyTags.checked) { for (i=0; i<CTHTMLCleaner.temporary.all.length; i++) { if (CTHTMLCleaner.temporary.all[i].tagName.search(CTHTMLCleaner.clearEmptyTags) != -1) { if (CTHTMLCleaner.temporary.all[i].innerHTML.length == 0) { CTHTMLCleaner.temporary.all[i].removeNode(true); } } } } var val = CTHTMLCleaner.temporary.innerHTML; rgExp = new RegExp(defaultQuery,"ig"); val = val.replace(rgExp, ""); rgExp = new RegExp(labelQuery,"ig"); val = val.replace(rgExp, "#"); rgExp = new RegExp(query.href,"ig"); val = val.replace(rgExp, "/"); rgExp = new RegExp(rootQuery.href,"ig"); val = val.replace(rgExp, "/"); rgExp = new RegExp(defaultQuery.href,"ig"); val = val.replace(rgExp, "/"); val = val.replace(/cellPadding=0/gi, "cellPadding=3"); val = val.replace(/table/gi, "table width=100%"); oEditor.FCK.EditorDocument.body.innerHTML = val; Locked = false; } if (window.dialogArguments) { CTHTMLCleaner.TagAnalizer(); } </script> </body> </html>
[
Íàçàä
]