|
@@ -86,7 +86,16 @@ this.serializer = this.serializer || (() => {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function serializeTextNode(textNode) {
|
|
function serializeTextNode(textNode) {
|
|
|
- return textNode.textContent;
|
|
|
|
|
|
|
+ let parentNode = textNode.parentNode;
|
|
|
|
|
+ let parentTagName;
|
|
|
|
|
+ if (parentNode && parentNode.nodeType == Node.ELEMENT_NODE) {
|
|
|
|
|
+ parentTagName = parentNode.tagName.toLowerCase();
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!parentTagName || ["style", "script", "xmp", "iframe", "noembed", "noframes", "plaintext", "noscript"].includes(parentTagName)) {
|
|
|
|
|
+ return textNode.textContent;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return textNode.textContent.replace(/&/g, "&").replace(/\u00a0/g, " ").replace(/</g, "<").replace(/</g, ">");
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function serializeCommentNode(commentNode) {
|
|
function serializeCommentNode(commentNode) {
|