我是编程新手,我正在解决这个问题.我已尝试使用string.slice()进行3次循环,但由于某种原因,它会打印一个空字符串.
你能否解释我的代码中发生了什么?为什么它打印错误的输出以及我如何纠正,而不是给我你正确答案的版本,以便我可以从错误中吸取教训.
测试输入是
<p><strong><em>PHP Exercises</em></strong></p>
Run Code Online (Sandbox Code Playgroud)
和输出应该是PHP练习
ps这不是一个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);
}
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
试试这个:
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));Run Code Online (Sandbox Code Playgroud)
或者您可以使用string.js(string.js链接):
var S = window.S;
var something = '<p><strong><em>PHP Exercises</em></strong></p>';
something = S(something).stripTags().s;
alert(something);Run Code Online (Sandbox Code Playgroud)
<script src="https://raw.githubusercontent.com/jprichardson/string.js/master/dist/string.min.js"></script>Run Code Online (Sandbox Code Playgroud)
如果您正在尝试nodejs:
var S = require('string');
var something = '<p><strong><em>PHP Exercises</em></strong></p>';
something = S(something).stripTags().s;
console.log(something);
Run Code Online (Sandbox Code Playgroud)