JS - 在保留换行符的同时剥离标签适用于DOM对象,但不适用于变量中的html

时间:2013-09-18 19:58:13

标签: javascript jquery html plaintext

我正在尝试在javascript(或jQuery)中创建一个函数,该函数将使用变量填充html并输出纯文本版本。该函数需要去除html标记并在标题和段落标记的末尾插入换行符。

我已经在这里玩了很多年了。有很多关于如何获取DOM对象的例子,例如: document.body.innerHTML并删除标记。但是,我使用的是填充了html的变量,结果不一样。

这是假定的重复解决方案:http://jsfiddle.net/8JSZX/。但是,创建一个html变量并使用它,你得到:http://jsfiddle.net/JjXXY/ - 它不保留换行符。

html变量类似于:

var html = '<h1>This is a heading</h1><p>This is a paragraph</p><p>This is another paragraph</p>'

如果有更好的解决方案,我愿意接受建议!

1 个答案:

答案 0 :(得分:0)

给了它一个镜头:

var html_string = '<h1>Test</h1><p>A paragraph with a <a href="link">link</a></p>';
var regex = /<(\/?)[a-zA-Z0-9][^>]*>/g;
var stripped = html_string.replace(regex, '');
$("#result").html(stripped);

请参阅:http://jsfiddle.net/Y6q2j/5/