簡體   English   中英

使用正則表達式刪除某些HTML標簽

[英]Removing certain HTML tags using Regex

我正在使用tinyMCE庫編輯HTML,該HTML返回以下內容:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
... Your HTML ...
</body>
</html>

我想去除doctype,html,head和body標記,以便將

... Your HTML ...

這是我正在使用的功能。

function stripHTML(html) {
    return str.replace(/<(\/?|\!?)(DOCTYPE html|html|head|body)>/, ""); 
}

這只會從字符串中刪除<!DOCTYPE html>

如果有更簡單的方法可以執行此操作,請向我指出正確的方向。 有任何想法嗎?

function stripHTML(html) {
     return str.replace(/<(\/?|\!?)(DOCTYPE html|html|head|body)>/g, ""); 
}

您需要一個全局修飾符來獲取所有案例http://regex101.com/r/aA1vL0

用這個:

return str.replace(/<(\/?|\!?)(DOCTYPE html|html|head|body)>/g, "");

您沒有g全局標志,因此僅替換了它匹配的第一個元素。

\\ r \\ n符號與您的表達式不匹配的問題。 您可以使用此表達式刪除所有所需內容:

function stripHTML(html) {
      return str.replace(/(<![\w\W]*<body>|(<\/body>\W*<\/html>))/gmi, ""); 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM