javascript - 如何在不使用正则表达式的情况下从 JavaScript 中的字符串中删除 HTML 标签?

标签 javascript

我是编程新手,我正在解决这个练习。 我已经使用 string.slice() 尝试了 3 个循环,但由于某种原因它打印了一个空字符串。

请您解释一下我的代码中发生了什么,为什么它会打印错误的输出以及我如何纠正,而不是给我您的正确答案版本,以便我可以从错误中学习。

测试输入是

<p><strong><em>PHP Exercises</em></strong></p>

输出应该是 PHP 练习

p.s 这不是 PHP 练习,我没有感到困惑

这是我的代码:

function remove(answer){ 

    var sen = answer.split("");
    var arr = [];
    for (var i = 0; i<answer.length; i++){
        if (answer[i] == "<"){
            for (var j = i; j<answer.length; j++){
                if (answer[j] == ">"){
                    for (var k = j; k<answer.length; k++){
                        if (answer[k] == "<"){
                            return answer.slice(j+1, k);                
                        }
                    }
                }
            }
        }
    }
}

最佳答案

试试这个:

function stripTags(data)
{
   var tmpElement = document.createElement("div");
   tmpElement.innerHTML = data;
   return tmpElement.textContent || tmpElement.innerText || "";
}

var something = '<p><strong><em>PHP Exercises</em></strong></p>';
alert(stripTags(something));

或者您可以使用 string.js ( string.js link ):

var S = window.S;
var something = '<p><strong><em>PHP Exercises</em></strong></p>';
something = S(something).stripTags().s;
alert(something);
<script src="https://raw.githubusercontent.com/jprichardson/string.js/master/dist/string.min.js"></script>

如果你正在尝试 Nodejs,那么:

var S = require('string');
var something = '<p><strong><em>PHP Exercises</em></strong></p>';
something = S(something).stripTags().s;
console.log(something);

关于javascript - 如何在不使用正则表达式的情况下从 JavaScript 中的字符串中删除 HTML 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36050431/

相关文章:

javascript - 对象中的 typescript 符号

javascript - 将 mongodb mapReduce 结果写入文件

javascript - 无法更新子 Controller 作用域变量

javascript - 如何在 NodeJS 中使用 ldapjs 连接 LDAP

javascript - 无法读取空帮助的属性 "style"。 [Javascript、HTML、CSS、JQuery]

javascript - 将使用 'new' 关键字的 Javascript 函数表达式视为 'static' 是否正确

javascript - 如何在控制台日志中查看所选选项与其他选项的组合?

javascript - parse.com 云代码问题,但在 javascript 中运行完美

javascript - 从 WebService 获取 a 时的 Angular js 和回调

javascript - Kendo 下拉列表触发更改事件