![](/img/trans.png)
[英]javascript remove html tags but not content within them and not <a > tags with regex
[英]JS Regex remove HTML Tags and Content
我正在寻找一个 JS 正则表达式来删除 HTML 标签 + 里面的内容。 到目前为止我发现的是一个简单的正则表达式来删除 HTML 标签,但没有 div:
newdata.replace(/<[^>]*>/gi, '');
我拥有的:
Color<select>
<option value="">Show All</option>
<option value="Black">Black</option><option value="Blue">Blue</option>
</select>
我需要的:
Color
创建一个虚拟元素以删除元素并仅保留文本节点
function stripElements( str )
{
var dummyDiv = document.createElement( "div" );
dummyDiv.innerHTML = str;
return Array.from( dummyDiv.childNodes ).filter( s => s.nodeType == 3 ).map( s => s.nodeValue ).join("");
}
演示
var str = `Color<select> <option value="">Show All</option> <option value="Black">Black</option><option value="Blue">Blue</option> </select>`; function stripElements( str ) { var dummyDiv = document.createElement( "div" ); dummyDiv.innerHTML = str; return Array.from( dummyDiv.childNodes ).filter( s => s.nodeType == 3 ).map( s => s.nodeValue ).join(""); } console.log( stripElements(str) );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.