我需要从keyup上的tinymce编辑器获取当前文本长度(只有没有html标签的文本长度)。我的工作是
getContent();
外观:
...
setup : function(ed) {
ed.onKeyUp.add(function(ed, e) {
var text = strip_tags(tinyMCE.get('long_text').getContent(),'<img>');
console.log(text.length);
});
}
...
我得到的是:
的长度<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
this is tag-stripped text
我只需要没有标签的文本长度,甚至是DOCTYPE,例如:
this is tag-stripped text
但是,问题是它没有删除DOCTYPE,我尝试使用regex replace()
删除它,但仍然无法正常工作。我的英语一点都不好,我希望我能简单解释一下。目标是从tinymce编辑器获取文本,没有任何标签甚至DOCTYPE并得到长度。我怎么能这么做?
感谢。
答案 0 :(得分:1)
使用此javascript代码使用jQuery获取编辑器textcontent
var plain_text = $(tinyMCE.get('long_text').getBody()).text();
答案 1 :(得分:1)
你可以尝试
ed.onKeyDown.add(function(ed, evt) {
console.log($(ed.getBody()).text().length);
}
在任何情况下,如果这对您没有用,请尝试
----
console.log(getStats('long_text').chars);
-----
// Returns text statistics for the specified editor by id
function getStats(id) {
var body = tinymce.get(id).getBody(), text = tinymce.trim(body.innerText || body.textContent);
return {
chars: text.length,
words: text.split(/[\w\u2019\'-]+/).length
};
}