我有这个字符串。我想在不删除数据的情况下删除具有id的span。
输入:
var testString = "<span class="test01">Electrical drafting Scheduling tools <span id="spcc15in0os0">draftin</span><span> </span> Scheduling tools Mechanical</span>"
预期输出:
"<span class="test01">Electrical drafting Scheduling tools draftin<span> </span> Scheduling tools Mechanical</span>"
我是regex的新手。试了几件事。
尝试1:testString.replace(/<\/?span\sid=[^>]*>/g, "")
结果:但它没有删除span的结束标记
试试2:testString.replace(/(<span id=".*"(?: \w+="[^"]+")*>([^<]*)<\/span>)/gi, "")
结果:它正在删除具有数据id的span。
答案 0 :(得分:0)
如果你不必,你不应该通过正则表达式解析HTML。您使用jquery
为自己的帖子添加了标签,因此可以为您解决问题:
var testString = "<span class='test01'>Electrical drafting Scheduling tools <span id='spcc15in0os0'>draftin</span><span> </span> Scheduling tools Mechanical</span>";
var $element = $(testString);
$element.find("span").each(function(index) {
var innerText= $(this).text();
$(this).replaceWith(innerText);
});
var newString = $element.html();
console.log(newString);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;