除了type =“A”,type =“1”和type =“I”属性外,如何使用正则表达式删除所有html属性?
以下html:
<ol type="A" lang="en-CA" style="margin-bottom: 0in; line-height: 100%">
<li><span>Text</span></li>
<li><span>More text</span></li>
</ol>
<ol type="I" style="font-weight: bold;">
<li><span>Text</span></li>
<li><span>More text</span></li>
</ol>
应该成为:
<ol type="A">
<li><span>Text</span></li>
<li><span>More text</span></li>
</ol>
<ol type="I">
<li><span>Text</span></li>
<li><span>More text</span></li>
</ol>
答案 0 :(得分:0)
如果您更喜欢使用正则表达式,请尝试以下
(<[a-z]+\stype="[A|I|1]")(?:[^>]+)?
的更换:
$1
输入:
<ol type="A" lang="en-CA" style="margin-bottom: 0in; line-height: 100%">
<li type="A" s="something"><span>Text</span></li>
<li><span>More text</span></li>
</ol>
<ol type="I" style="font-weight: bold;">
<li><span>Text</span></li>
<li><span>More text</span></li>
</ol>
<ol type="1" style="font-weight: bold;">
<li type="I" another="attribute"><span>Text</span></li>
<li><span>More text</span></li>
</ol>
输出:
<ol type="A">
<li type="A"><span>Text</span></li>
<li><span>More text</span></li>
</ol>
<ol type="I">
<li><span>Text</span></li>
<li><span>More text</span></li>
</ol>
<ol type="1">
<li type="I"><span>Text</span></li>
<li><span>More text</span></li>
</ol>
使用JavaScript的简单用法
var s = '<ol type="A" lang="en-CA" style="margin-bottom: 0in; line-height: 100%">';
var p = /(<[a-z]+\stype="[A|I|1]")(?:[^>]+)?/g
console.log(s.replace(p, '$1'));
输出:
<ol type="A">