如下面的是一个wangeditor里生成的文本,我想只要里面的文本内容,需要换行的用<br/>替换,这个怎么做到?
<div style="width: 100px; white-space: nowrap; text-overflow: ellipsis;"><p><span style="color: rgb(32, 47, 82); background-color: rgb(255, 255, 255); font-size: 12px; font-family: 宋体;">病理诊断的内容333病理诊断理诊断的内容333病理</span></p><p><span style="color: rgb(32, 47, 82); background-color: rgb(255, 255, 255); font-size: 12px; font-family: 宋体;">诊断的内容333病理诊断的内容333</span></p></div>
上面的去掉标签应该是:
`病理诊断的内容333病理诊断理诊断的内容333病理
诊断的内容333病理诊断的内容333
`
editor.getText()
默认就是换行的
https://www.wangeditor.com/v5/content.html#%E8%8E%B7%E5%8F%96...
function stripHtmlAndAddBr(html) {
// 创建一个临时的DOM元素来解析HTML
var tempDiv = document.createElement("div");
tempDiv.innerHTML = html;
// 获取纯文本内容并分割成数组,每个段落作为一个元素
var paragraphs = tempDiv.textContent.split(/\n+/);
// 为每个段落追加 <br/> 标签
var result = paragraphs.map(paragraph => paragraph + '<br/>').join('');
return result;
}
var htmlString = `<div style="width: 100px; white-space: nowrap; text-overflow: ellipsis;"><p><span style="color: rgb(32, 47, 82); background-color: rgb(255, 255, 255); font-size: 12px; font-family: 宋体;">病理诊断的内容333病理诊断理诊断的内容333病理</span></p><p><span style="color: rgb(32, 47, 82); background-color: rgb(255, 255, 255); font-size: 12px; font-family: 宋体;">诊断的内容333病理诊断的内容333</span></p></div>`;
var result = stripHtmlAndAddBr(htmlString);
console.log(result);
输出结果:
病理诊断的内容333病理诊断理诊断的内容333病理<br/>
诊断的内容333病理诊断的内容333<br/>
wangEditor 应该有获得text的方法吧。
getText() 应该可以满足
为了去掉HTML标签并保留换行,你可以使用JavaScript的DOM解析方法或者正则表达式,但在这个特定情况下,考虑到你可能需要保留<br>
标签作为换行符,并且<p>
标签之间应该也视为换行,使用DOM解析方法可能更合适。不过,由于你的问题中特别指出需要替换换行(即将多个段落视为换行),我们可以将<p>
标签视为换行符(<br/>
),并去除其他所有标签。
以下是一个使用JavaScript实现的示例,该示例将HTML字符串转换为纯文本,其中<p>
标签被替换为<br/>
,其他所有HTML标签被去除:
function stripHtmlTagsAndReplaceParagraphs(html) {
// 创建一个新的div元素作为容器
const tempDiv = document.createElement('div');
// 设置innerHTML为HTML字符串,这样DOM会解析HTML并创建相应的DOM节点
tempDiv.innerHTML = html.replace(/<p>/g, '<br/>').replace(/<\/p>/g, '');
// 使用textContent来获取纯文本内容,这会忽略所有HTML标签
let text = tempDiv.textContent || tempDiv.innerText || "";
// 将连续的空格替换为单个空格(可选,根据需要处理)
text = text.replace(/\s+/g, ' ');
// 如果需要,可以进一步处理文本,比如替换<br/>为换行符(在显示时,<br/>通常会被浏览器解释为换行)
// 但在这个上下文中,我们保留<br/>以符合你的需求
return text;
}
// 示例HTML字符串
const htmlString = `<div style="width: 100px; white-space: nowrap; text-overflow: ellipsis;"><p><span style="color: rgb(32, 47, 82); background-color: rgb(255, 255, 255); font-size: 12px; font-family: 宋体;">病理诊断的内容333病理诊断理诊断的内容333病理</span></p><p><span style="color: rgb(32, 47, 82); background-color: rgb(255, 255, 255); font-size: 12px; font-family: 宋体;">诊断的内容333病理诊断的内容333</span></p></div>`;
// 调用函数并打印结果
console.log(stripHtmlTagsAndReplaceParagraphs(htmlString));
// 注意:这个输出在控制台中可能看起来像是连续的文本,但在HTML中<br/>会被解释为换行
注意:
<p>
标签替换为<br/>
,然后再去除其他所有HTML标签。这意味着<p>
标签内的文本将直接跟随在<br/>
之后,符合你的需求。textContent
属性用于获取元素的纯文本内容,不包括任何HTML或XML标记。jsdom
这样的库来模拟DOM环境。<br/>
在HTML输出中显示为实际的换行(而不是仅仅在浏览器渲染时),你可能需要在输出时进一步处理字符串,将<br/>
替换为HTML中的换行符(如\n
),但这通常取决于你的具体需求和使用场景。wangeditor中怎么设置他的默认字号?
如下面的wangeditor编辑框,怎么可以文字超出框的最多文字时,文字字体自动变小,这个从哪几个点入手?
本文向大家介绍怎样把整个页面中的内容设置成只读,不可编辑的状态?相关面试题,主要包含被问及怎样把整个页面中的内容设置成只读,不可编辑的状态?时的应答技巧和注意事项,需要的朋友参考一下
问题内容: 我在许多JavaScript简介中都读了很多。我只是不明白。我一直认为对象是具有方法和属性的东西。我了解数组,因为它具有键值对。“字符串”或“数字”或“函数”怎么样?上面列出的这些东西对我来说就像是功能。这意味着您输入了一些东西,然后得到了一些东西。您实际上并没有获得访问属性或其他任何内容。在数组或“对象”列表中没有使用点符号。 是否有人用点符号编写每个方法的示例示例,这些示例的方法和
我在用qt,比方说我设计了一个类. 然后我的程序运作时需要一个这个类的数组,比方说 这么个数组. 现在我希望,我能把这个数组内的F对象的内容写到磁盘上,这样我下次还能再用这份数据. 但我总觉得自己的实现非常笨拙,我是把QDate类直接当作3个数字,QString当作一个字符串,用^当作成员之间的分隔符,用换行符当作元素之间的分隔符,打印出一个文件... 感觉很笨拙,想问下有什么高明的手法吗?