var text = $('div').text();
alert(text);
使用jQuery将html转换为文本时,它会删除包含break标记的html元素。我的目标是将break标记转换为新行,然后转换为文本,但每次尝试都不起作用。小提琴有一个我正在努力完成的非实际例子。小提琴是在
答案 0 :(得分:0)
您可以使用换行符替换<br>
代码:
var text = $('div').html().replace(/<br\s*[\/]?>/gi, '\n');
https://jsfiddle.net/v3f2s7zp/5/
请注意,这将匹配任何类名或其他属性,例如<br class="large">
。哪个是好事!
答案 1 :(得分:0)
您未实现目标的原因是因为$(&#39; div&#39;)。text()将输出已解析的html。要获得预期的结果,首先需要提取原始html。以下代码段将显示一个警告框。请注意,br标记由新行字符替换:
var text = $('div').html().replace(/<br(\s)?(\/)?>/g, '\n');
alert(text);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<div id=text>Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Quisque velit nisi, pretium ut lacinia in, elementum id enim. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla porttitor accumsan tincidunt. Vivamus suscipit tortor eget felis porttitor volutpat. Nulla quis lorem ut libero malesuada feugiat. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Curabitur aliquet quam id dui posuere blandit.<br /><br />
Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Sed porttitor lectus nibh. Sed porttitor lectus nibh. Nulla porttitor accumsan tincidunt. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Vivamus suscipit tortor eget felis porttitor volutpat. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Proin eget tortor risus. Mauris blandit aliquet elit, eget tincidunt nibh pulvinar a. Mauris blandit aliquet elit, eget tincidunt nibh pulvinar a.<br /><br />'</div>
&#13;