2017-03-06 74 views
0

我試圖從html中刪除不必要的行註釋& css。我找到了一個正則表達式來刪除評論這樣的:正則表達式從html中刪除行註釋

/* Write your comments here */ 

但什麼林尋找的是一個正則表達式多行註釋這樣的:

<!-- Write your comments here 
Second line 
third Line 
--> 

目前正在使用此代碼刪除一行評論:

<!--[^\[].*--> 

任何援助將不勝感激

+0

謝謝,這正是我一直在尋找。 –

回答

0

不如生成臨時DOM元素並遍歷所有節點遞歸地移除註釋節點。

var str = ` 
 
<div> 
 
test 
 
<!-- test comment --> 
 
<!-- test comment --> 
 
test 
 

 
<!-- 
 
test comment 
 
multiline 
 
--> 
 
</div>`; 
 

 
// generate div element 
 
var temp = document.createElement('div'); 
 
// set HTML content 
 
temp.innerHTML = str; 
 

 
function removeEle(e) { 
 
    // convert child nodes into array 
 
    Array.from(e.childNodes) 
 
    // iterate over nodes 
 
    .forEach(function(ele) { 
 
     // if node type is comment then remove it 
 
     if (ele.nodeType === 8) e.removeChild(ele); 
 
     // if node is an element then call it recursively 
 
     else if (ele.nodeType === 1) removeEle(ele); 
 
    }) 
 
} 
 

 
removeEle(temp); 
 

 
console.log(temp.innerHTML);