TinyMCE-获取纯文本

Siv*_*lam 11 tinymce

在tinyMCE中,有没有办法获得纯文本而不是HTML文本?

luc*_*ado 26

试试这个:

var myText = tinyMCE.activeEditor.selection.getContent({ format: 'text' });
Run Code Online (Sandbox Code Playgroud)

  • 没有.selection部分工作,只是`tinyMCE.activeEditor.getContent({format:'text'});` (9认同)

小智 7

var rawtext = tinyMCE.activeEditor.getBody().textContent;
Run Code Online (Sandbox Code Playgroud)

  • 这个问题是它把`<br>` 转换成`''`,或者换句话说就是什么都没有。这将导致单词崩溃,例如“[...] 行尾没有 periodAnother 段落” (2认同)

Dmi*_*kel 2

我刚刚尝试过这种方法:

editor.getContent()
   .replace(/<[^>]*>/ig, ' ')
   .replace(/<\/[^>]*>/ig, ' ')
   .replace(/&nbsp;|&#160;/gi, ' ')
   .replace(/\s+/ig, ' ')
   .trim();
Run Code Online (Sandbox Code Playgroud)
  • 用空格替换开始和结束 html 标签
  • 用空格替换各种已知的特殊字符(也添加您的)
  • 将多个空格替换为单个空格

工作得相当不错,但显然并不完美。为了进行字数统计,我只需要纯文本的近似值,因此我愿意忽略一些极端情况,例如部分单词为粗体或斜体(上面的替换 for<b>a</b><i>x</i>将产生两个单独的单词a b而不是ab)。

它是正则表达式的扩展,用于从字符串中删除 HTML 标签

希望有帮助。

  • 当心用于解析 HTML 的正则表达式。http://stackoverflow.com/questions/1732348/regex-match-open-tags- except-xhtml-self-contained-tags/1732454#1732454 小马,他来了。 (2认同)