One*_*erd 24 javascript ms-word paste
我正在使用'contenteditable' <div/>并启用PASTE.
令人惊讶的是从Microsoft Word的剪贴板副本粘贴的标记代码量.我正在与此作斗争,并且已经使用Prototypes的stripTags()功能获得了大约1/2的方式(遗憾的是,这似乎不能让我保留一些标签).
然而,即使在那之后,我最终还是会有一些令人费解的不必要的标记代码.
所以我的问题是,是否有一些功能(使用JavaScript),或者我可以使用哪种方法来清理大部分不需要的标记?
One*_*erd 22
这是我写完的功能,它完成了相当好的工作(据我所知,无论如何).
如果有人有,我当然愿意接受改进建议.谢谢.
function cleanWordPaste( in_word_text ) {
var tmp = document.createElement("DIV");
tmp.innerHTML = in_word_text;
var newString = tmp.textContent||tmp.innerText;
// this next piece converts line breaks into break tags
// and removes the seemingly endless crap code
newString = newString.replace(/\n\n/g, "<br />").replace(/.*<!--.*-->/g,"");
// this next piece removes any break tags (up to 10) at beginning
for ( i=0; i<10; i++ ) {
if ( newString.substr(0,6)=="<br />" ) {
newString = newString.replace("<br />", "");
}
}
return newString;
}
Run Code Online (Sandbox Code Playgroud)
希望这对你们中的一些人有所帮助.