leftso 1642 0 2018-07-05 21:45:38 编程技术 CKeditor

logo-cover-CKeditor 5.0 如何获取纯文本数据
CKeditor 5.0环境说明

官方下载的
ckeditor5-build-classic.zip文件
解压后文件名为
ckeditor5-build-classic

里面新增了一个HTML文件,命名为demo.html

demo.html内容如下:
<html>

<head>
	<!--ckeditor5默认编辑器的高度-->
        <style>
            .ck-editor__editable {
                min-height: 100px;
            }
        </style>
</head>

<body>
<div id="editor">
	<p>This is the editor content.</p>
</div>
<div class="btns">
	<button onclick="getData()">获取值</button><br/>
	<button onclick="getText()">获取纯文本</button>
</div>
<script src="./translations/zh-cn.js"></script>
<script src="./ckeditor.js"></script>

<script>

	var defaultValue='<p>'
		+'这是默认的内容,欢迎使用CKeditor5.0版本<p></p>'
		+'<br/><br/><br/><br/><br/><br/>'
		+'嗯。是的欢迎使用5版本。'
	+'</p>';
	ClassicEditor
		.create( document.querySelector( '#editor' ),{
		
			language:'zh-cn',//需要引入语言文件
		} 
		)
		.then( editor => {
			window.editor = editor;
			editor.setData(defaultValue);
		} )
		.catch( err => {
			console.error( err.stack );
		} );

function getData() {
	var editor=window.editor;
	if (editor) {
		//设置值 editor.setData(htmlStr);
		//获取值
		var htmlStr=editor.getData();
		alert(htmlStr);
	}else{
		alert("error");
	}
}

function getText() {
	// body...
	var editor=window.editor;
	if (editor) {

	var htmlStr=editor.getData();
	htmlStr=htmlStr.replace(/<[^>]*>/ig,"");

		alert(htmlStr);
	}else{
		alert("error");
	}
	
}


</script>
</body>

</html>

这里实现CKeditor 5.0版本获取纯文本主要是通过正则表达式匹配替换掉获取的data中的所有HTML标签。
目前官方没直接提供可用的方法。

如果您找到了官方提供的方法请告诉我,谢谢yes