javascript - JS 正则表达式删除 HTML 标签和内容

标签 javascript

我正在寻找一个 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) );

关于javascript - JS 正则表达式删除 HTML 标签和内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48765078/

相关文章:

javascript - 如何按动态名称从文本框中获取值

javascript - 如何在 GWTTestCase 中测试 "Timer code"?

Javascript:显示所有用户信息(即导航器对象)以进行调试

javascript - Rails 5 - JS 无法在生产环境中工作(仅限)

javascript - 在php中将div作为邮件附件发送

javascript - 防止选择过去的日期

javascript - 如何使用jquery过滤同位素div的子集?

javascript - 音频文件仅播放一次,简单示例 Tabrisjs 2.4

javascript - 在 Google Drive 上安装 Node.js(或使用 Google Drive 运行您的 Web 应用程序)

javascript - javascript中的径向运动