我試圖刪除腳本和HTML正文的內容,這就是我想出了到現在爲止正則表達式刪除<script>及其JavaScript內容
just_text = just_text.replace(/<\s*script[^>]*>(<\s*\/script[^>]*>|$)/ig, '');
如想它不工作,我仍然獲得內容。
你能幫我嗎?
謝謝
我試圖刪除腳本和HTML正文的內容,這就是我想出了到現在爲止正則表達式刪除<script>及其JavaScript內容
just_text = just_text.replace(/<\s*script[^>]*>(<\s*\/script[^>]*>|$)/ig, '');
如想它不工作,我仍然獲得內容。
你能幫我嗎?
謝謝
的回答這些問題始終是相同的:不要使用正則表達式。相反,解析HTML,修改DOM並在需要時將其序列化回HTML。
例子:
var container = document.createElement('div');
container.innerHTML = just_text;
// find and remove `script` elements
var scripts = container.getElementsByTagName('script');
for (var i = scripts.length; i--;) {
scripts[i].parentNode.removeChild(scripts[i]);
}
just_text = container.innerHTML;
如果你想刪除的頁面本身script
標籤,它基本上是相同的:
var scripts = document.body.getElementsByTagName('script');
for (var i = scripts.length; i--;) {
scripts[i].parentNode.removeChild(scripts[i]);
}
你有沒有考慮使用,而不是常規承擔這一任務的HTML解析器表情?它們不適合處理HTML。 –
*「從HTML正文中刪除腳本及其內容」*這是否意味着您正在修改實際頁面並且不僅僅具有HTML字符串? –
@FrédéricHamidiyeap我需要一個正則表達式 –