javascript - 使用递归删除字符串的标签

标签 javascript recursion

我有以下函数,它应该从输入字符串中删除标签。

示例:

'<strong>hello <em>my name <strong>is</strong> </em></strong>'

结果:

'hello my name is'

目前我有这段代码,但不确定如何使其与递归一起工作。

<小时/>
const clean= (str) => {
    const tags = ['<strong>', '</strong>', '<em>', '</em>', '<del>', '</del>']
    let strSanited = ''
    tags.forEach(tag => {
        if (str.includes(tag)) {
            strSanited = str.replace(tag, '')
        }else{
            // recursion here??
        }
    })
}

clean('<strong>hello <em>my name <strong>is</strong> </em></strong>')

最佳答案

您也可以使用正则表达式来执行此操作。

EX。

 yourstring.replace(/<(?:.|\n)*?>/gm, '');

引用:Strip HTML from Text JavaScript

这样你就不用担心其他的html标签了,它会处理所有的html标签。如果有帮助请告诉我们

关于javascript - 使用递归删除字符串的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47677238/

相关文章:

javascript - 通过正则表达式捕获字符串的开头(空字符串)作为匹配本身

javascript - 记录使用 JavaScript 动态添加文本字段的次数

python - 使用Python递归进行日常编码挑战

java - 如何使用文本文件递归制作树?

java - 为什么这个例子的时间复杂度是从 "Cracking the Coding Interview"O(k c^k)?

javascript - 如何解析前导0的字符串

javascript - 如何为 jsviews 创建自定义属性处理程序?

javascript - 在表单中使用 jQuery 使用箭头键跳转到下一个输入字段

jquery - 使用递归链接 jQuery 动画会导致浏览器崩溃

c - C中的递归问题