Gildas 7 лет назад
Родитель
Сommit
051e0a5f40
1 измененных файлов с 10 добавлено и 1 удалено
  1. 10 1
      lib/single-file/serializer.js

+ 10 - 1
lib/single-file/serializer.js

@@ -86,7 +86,16 @@ this.serializer = this.serializer || (() => {
 	}
 
 	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, "&amp;").replace(/\u00a0/g, "&nbsp;").replace(/</g, "&lt;").replace(/</g, "&gt;");
+		}
 	}
 
 	function serializeCommentNode(commentNode) {