javascript - 从文本中剥离标签(在 React JS 中)

标签 javascript regex reactjs dom replace

我在变量 cleanHTML 中有多个完整的 html 代码,我需要从文本中删除特定标签。

let cleanHTML = document.documentElement.outerHTML

这个:
<span class="remove-me">please</span>
<span class="remove-me">me too</span>
<span class="remove-me">and me</span>

对此:
please
me too
and me

我正在尝试这样做:
var list = cleanHTML.getElementsByClassName("remove-me");
var i;
for (i = 0; i < list.length; i++) {
  list[i] = list[i].innerHTML;
}

但是我从 React cleanHTML.getElementsByClassName is not a function 得到错误

知道如何以 React 喜欢的方式进行操作吗?

最佳答案

您的 cleanHtml是字符串而不是节点。所以getElementsByClassName不适用,因为它不是字符串函数

您可以使用正则表达式来执行此操作。以下代码可能会有所帮助。

var stripedHtml = cleanHtml.replace(/<[^>]+>/g, '');

stripedHtml将使您的 html 内容没有标签。

关于javascript - 从文本中剥离标签(在 React JS 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52257993/

相关文章:

javascript - React 中客户端身份验证的示例

javascript - 隐藏/显示点击另一个 div

javascript - findText() 中的正则表达式不匹配

javascript - 优化if条件javascript

angularjs - AngularJS 中的网站 URL 验证

regex - 从文本文件中的重复范围模式中获取特定行

reactjs - Typescript `typeof React.Component` 没有扩展接口(interface)?定义高阶组件时遇到问题

javascript - 简单的 jquery 第二个计数器

javascript - 使用javascript查找数组中的任何重复元素

c# - 用于检查字符串是否以某个子字符串开头的正则表达式模式?