gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 15:11:54 25 4
gpt4 key购买 nike

我是编程新手,我正在解决这个练习。我已经使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com