Update clearHtmlCommentText helper to match HTML specification better; "--" within a comment does not make it invalid (fixes #361).

This commit is contained in:
David Anson 2021-01-28 21:45:53 -08:00
parent df4aa9f4e8
commit 838afe0a00
4 changed files with 37 additions and 21 deletions

View file

@ -114,12 +114,16 @@ module.exports.clearHtmlCommentText = function clearHtmlCommentText(text) {
break;
}
const comment = text.slice(i + htmlCommentBegin.length, j);
if ((comment.length > 0) &&
(comment[0] !== ">") &&
(comment[comment.length - 1] !== "-") &&
!comment.includes("--") &&
(text.slice(i, j + htmlCommentEnd.length)
.search(inlineCommentRe) === -1)) {
if (
(comment.length > 0) &&
!comment.startsWith(">") &&
!comment.startsWith("->") &&
!comment.endsWith("<!-") &&
!comment.includes("<!--") &&
// !comment.includes("-->") &&
!comment.includes("--!>") &&
(text.slice(i, j + htmlCommentEnd.length).search(inlineCommentRe) === -1)
) {
const blanks = comment
.replace(/[^\r\n]/g, " ")
.replace(/ ([\r\n])/g, "\\$1");