Файл: library/wysihtml5/src/quirks/clean_pasted_html.js
Строк: 64
<?php
/**
* Fix most common html formatting misbehaviors of browsers implementation when inserting
* content via copy & paste contentEditable
*
* @author Christopher Blum
*/
wysihtml5.quirks.cleanPastedHTML = (function() {
// TODO: We probably need more rules here
var defaultRules = {
// When pasting underlined links <a> into a contentEditable, IE thinks, it has to insert <u> to keep the styling
"a u": wysihtml5.dom.replaceWithChildNodes
};
function cleanPastedHTML(elementOrHtml, rules, context) {
rules = rules || defaultRules;
context = context || elementOrHtml.ownerDocument || document;
var element,
isString = typeof(elementOrHtml) === "string",
method,
matches,
matchesLength,
i,
j = 0;
if (isString) {
element = wysihtml5.dom.getAsDom(elementOrHtml, context);
} else {
element = elementOrHtml;
}
for (i in rules) {
matches = element.querySelectorAll(i);
method = rules[i];
matchesLength = matches.length;
for (; j<matchesLength; j++) {
method(matches[j]);
}
}
matches = elementOrHtml = rules = null;
return isString ? element.innerHTML : element;
}
return cleanPastedHTML;
})();
?>