繁体   English   中英

JS Regex 删除 HTML 标签和内容

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM