當我從word文檔複製文本時,當我將該文本粘貼到網頁上的cleditor時,也會複製應用的格式,這是我們的rails應用程序。如何從文檔中複製的文本中刪除格式
-3
A
回答
2
cleditor google groups seems to have the answer:
下面是一個擴展我使用,其中包括Microsoft Word中的 濾波updateTextArea的if/endif垃圾和規範的 標籤XHTML/HTML5友好的人的組合: BR | b |刪除|插件| I |李|醇| p | UL
(function($) {
$.cleditor.defaultOptions.docType = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>";
$.cleditor.defaultOptions.docCSSFile = AkmeWindowUtil.CONTEXT_PATH+"/embed/cleditor/jquery.cleditor.iframe.css";
$.cleditor.defaultOptions.updateTextArea = function(html) { //if (document.forms[0].debugArea) document.forms[0].debugArea.value = html;
// Normalize to xhtml/html5 common standards and only keep allowed tags.
var ary = html.split("<");
var end = -1;
for (var i=0; i<ary.length; i++) {
if (ary[i].lastIndexOf("!--[if ", 7) === 0) { // handle Microsoft <!--[if ... <![endif]-->
ary[i] = "";
var found = false;
for (i++; i<ary.length; i++) {
if (ary[i].lastIndexOf("![endif]-->", 11) === 0) {found = true;}
ary[i] = "";
if (found) break;
}
if (i>=ary.length) break;
}
end = ary[i].indexOf(">");
if (end == -1) continue;
ary[i] = ary[i].substring(0,end).toLowerCase()+ary[i].substring(end);
var search = ["strong>","em>","strike>","u>","br>"];
var replace = ["b>","i>","del>","ins>","br/>"];
for (var j=0; j<search.length; j++) {
var pos = ary[i].lastIndexOf(search[j], search[j].length+1);
if (pos == 0 || (pos == 1 && ary[i].charAt(0) == '/')) {
ary[i] = (pos == 1 ? "/" : "")+ replace[j] +ary[i].substring(search[j].length+pos);
}
}
var spellcheckerRE = /^\/?span[^\/>]*\/?>/m;
var cleanupRE = /^(\/?)(br|b|del|ins|i|li|ol|p|ul)[^a-zA-Z\/>]*[^\/>]*(\/?)>/m;
if (spellcheckerRE.test(ary[i])) {
ary[i] = ary[i].replace(spellcheckerRE, "");
} else if (cleanupRE.test(ary[i])) {
ary[i] = ary[i].replace(cleanupRE, "<$1$2$3>");
ary[i] = ary[i].replace(/^<p>/, "");
ary[i] = ary[i].replace(/^<\/?p\/?>/, "<br/>");
} else {
ary[i] = end+1 < ary[i].length ? ary[i].substring(end+1) : "";
}
ary[i] = ary[i].replace(/ /gm, "");
ary[i] = ary[i].replace(/\n\n/gm, "\n");
}
html = ary.join("");
// Trim leading whitespace.
var trimRE = /^(\s+| |<br\/?>|<p>( )*<\/p>)+/m;
if (trimRE.test(html)) {
html = html.replace(trimRE, "");
}
// Test if there is any actual non-whitespace text content.
var body = document.getElementsByTagName("body")[0];
var div = document.createElement("div");
div.style.display = "none";
body.appendChild(div);
div.innerHTML = html;
var text = div.innerText || div.textContent;
body.removeChild(div);
var trimRE = /\S/m;
if (!trimRE.test(text)) html = "";
return html;
};
})(jQuery);
相關問題
- 1. 從複製文本中刪除文本
- 2. 從Word Interop文檔中刪除文本
- 3. 從文本中刪除所有格式
- 4. 如何從文本中刪除樣式
- 5. 如何從WSS 3.0中的文檔庫中刪除文檔?
- 6. 如何從「/」文本中刪除文本?
- 7. 從Word文檔的所有空格中刪除格式
- 8. 生成文檔後從Word文檔中刪除控制控制
- 9. 從文檔中刪除子文檔
- 10. 如何從PyPi中刪除文檔
- 11. 如何從文檔中刪除字段
- 12. 如何從文本塊中刪除重複文本
- 13. 從mongoDB中刪除文檔
- 14. 如何從文本文件中刪除?
- 15. 如何從文件中刪除重複的文本?
- 16. 如何從文本文件中刪除重複的行
- 17. 如何在複製中完全刪除CouchDB文檔
- 18. 刪除字符串中複製文本
- 19. 如何使用文檔ID從mongoDB集合中刪除文檔?
- 20. 如何從文檔數組中刪除子文檔<condition>?
- 21. 如何從Solr索引中刪除邏輯刪除的文檔?
- 22. 函數繼續從重複控制中刪除文檔
- 23. 刪除Xml中的重複文檔
- 24. 如何刪除MongoDB中文檔中數組中的重複值?
- 25. 如何從iOS中的文檔目錄中複製文本文件
- 26. 如何從文本文件中刪除重複條目?
- 27. 如何從JSoup'文檔'中刪除非破壞空格?
- 28. 如何從HTML文檔中刪除表格?
- 29. 從文本文件中刪除製表符和空格
- 30. 如何刪除C#中的XML文檔中的重複節點?
這是一個真正的問題,從Word和Outlook粘貼帶來了不必要的每噸HTML與它 –