我想使用此代碼從文檔中刪除除<a>
<img>
和所有的HTML標籤:刪除HTML標籤
var regex = "<(?!a)(?!img)(?!iframe)([\s\S]*?)>";
var temp;
while (source.match(regex)) {
temp = source.match(regex)[0];
source = source.replace(temp, "");
}
return source;
它可以在網上正則表達式測試儀,但由於某些原因,它不在我的網頁上工作。例如,當輸入爲時,它會返回原始字符串:
"<p class="MsoNormal" style="margin-left:202.5pt;line-height:200%;background:white"><b><span style="font-size: 16pt; line-height: 200%; color: rgb(131, 60, 11); background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;">test</span></b><span style="font-size:16.0pt;
line-height:200%;color:#833C0B;letter-spacing:-.15pt;mso-ansi-language:EN-US"><o:p></o:p></span></p>"
請幫忙!
你能確切說出你想幹什麼? –
是不是'[\ s \ S]'等同於'.'?你有沒有嘗試在你的'while'循環中添加'console.log(temp)'(或者設置一箇中斷點)來查看實際發生的事情? – nnnnnn
[\ s \ S]允許正則表達式匹配多行 – levkaster