我想删除文本之间的HTML标记并将换行符更改为空格。我在下面使用这种模式,但它并不完美。它在文本之间添加两个或更多空格。如何解决这种模式?
replace(/( |<([^>]+)>)/ig, ' ');
答案 0 :(得分:1)
尝试以下代码并检查
replace(/(<([^>]+)>)/ig,"");
<强>更新强>
你可以这样做,
var html = 'Example: <h1></h1><p></p><div> </div><div>CONTENT</div> ';
html = html.replace(/\s|\n| /g, ' ');
html = html.replace(/<[^>]+>/gm, '');
输出将是这样的,
Example: CONTENT
玩上述解决方案&amp;你会成功的。
答案 1 :(得分:0)
以下是我如何做你想做的事情:
(请参阅我的代码段中的评论)
// Input data
var input_data = `My<div><br>
<span></span>
<span></span>
</div><p>Content</p>`;
console.log("Input:", input_data);
// Creates html element with Input data
var elm = document.createElement('div');
elm.innerHTML = input_data;
// Use native function '.innerText' to get rid of the html,
// then replace new lines by spaces, and multiple spaces by only one space
output_data = elm.innerText.replace(/\n/g, ' ').replace(/[\s]+/g, ' ');
console.log("Output:", output_data);
&#13;
希望它有所帮助!