簡體   English   中英

JS:如何使用正則表達式從 HTML 字符串中刪除樣式標簽及其內容?

[英]JS: How to remove style tags and their content from an HTML string, using regular expressions?

我需要從 html 字符串中多次刪除樣式標簽的全部內容。 我不能使用 DOM 解析器。

我怎么能在 JavaScript 中做到這一點?

 var string = "<style>someHTMLStuff</style> non style <html>stuff</html>" var s = string.replace(/<style.*?<\\/style>/g, '') console.log(s);

我假設您希望刪除整個樣式標簽,而不僅僅是其內容

編輯:引號

對於那些在 2020 年登陸這里的人來說,這對我有用。

string.replace(/(<style[\w\W]+style>)/g, "")

正如 Bergi 在 OP 評論中提到的那樣,如果沒有更好的選擇,這應該被視為最后的手段。 RegEx 不是處理 HTML 的最佳方式。

<style([\\S\\s]*?)>([\\S\\s]*?)<\\/style>

https://regex101.com/r/C28OPE/1

即使有多個標簽,這對我也有用。 信用

替換 HTML 元素 (innerHTML) 中的所有樣式屬性:

<div id="el">
  <p style="font-weight:bold">Line 1</p>
  <p style="color:red">Line 2</p>
</div>

//script
let element = document.getElementById('el')
element.innerHTML.replace(/style=\".*"/gm,'')

這將通過 id el 刪除元素中的所有元素樣式屬性。

暫無
暫無

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

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