Rumah >rangka kerja php >ThinkPHP >Kongsi dan cadangkan editor teks kaya TP yang berguna-CKEditor

Kongsi dan cadangkan editor teks kaya TP yang berguna-CKEditor

青灯夜游
青灯夜游ke hadapan
2021-10-25 19:16:362903semak imbas

Artikel ini mengesyorkan kepada anda editor teks kaya Thinkphp-CKEditor yang mudah digunakan Di sini saya akan memperkenalkan kepada anda cara menggunakan CKEditor saya harap ia akan membantu anda.

Kongsi dan cadangkan editor teks kaya TP yang berguna-CKEditor

Saya telah melakukan pembangunan back-end Thinkphp baru-baru ini Saya menggunakan editor teks kaya layui Kelebihan layui ialah ia mudah dan mudah digunakan kelemahannya juga agak jelas, iaitu Editor mempunyai sedikit fungsi Saya secara tidak sengaja mendapati bahawa projek orang lain menggunakan editor teks kaya CKEditor, dan saya rasa ia masih kaya! Mari belajar cara menggunakan CKEditor bersama-sama. [Cadangan tutorial berkaitan: rangka kerja thinkphp]

Alamat muat turun Ckeditor4 (tutorial ini memilih versi CKEditor 4.16):

https :/ /ckeditor.com/ckeditor-4/download/

Kongsi dan cadangkan editor teks kaya TP yang berguna-CKEditor

1. Perkenalkan fail teras ckeditor ckeditor.js

<script type="text/javascript" src="ckeditor/ckeditor.js"></script>

2. Masukkan kawalan HTML tempat editor digunakan

<textarea  id="content" name="content" cols="30" rows="2"></textarea>

3. Gantikan kawalan yang sepadan dengan kod editor

<script type="text/javascript">
var editor;
window.onload = function()
{
	editor = CKEDITOR.replace( &#39;content&#39;, {
            filebrowserImageUploadUrl : &#39;{:url("@admin/article/uploadPic")}&#39;,//上传图片的后端URL地址
            image_previewText : &#39; &#39;///去掉图片上传预览区域显示的文字
    });
};
</script>

4 Dayakan fungsi muat naik (fungsi muat naik disembunyikan, jadi ia perlu didayakan)

Dalam ckeditor/plugins/image/dialogs/image.js In fail, cari: id: "Muat naik", tersembunyi:!0, tukar !0 kepada palsu

5 , kaedah memuat naik fail dalam thinkphp backend

Selepas versi 4.10, dokumen rasmi menghendaki bahawa selepas imej berjaya dimuat naik, format json akan dikembalikan contohnya:

Muat naik berjaya Pulangan:

{
    "uploaded": 1,
    "fileName": "demo.jpg",
    "url": "/files/demo.jpg"
}

{
    "uploaded": 1,
    "fileName": "test.jpg",
    "url": "/files/test.jpg",
    "error": {
        "message": "A file with the same name already exists. The uploaded file was renamed to \"test.jpg\"."
    }
}

Muat naik gagalPulangan:

{
    "uploaded": 0,
    "error": {
        "message": "The file is too big."
    }
}

Kod imej muat naik belakang:

/**
    * @name=&#39;上传图片&#39;    
    */
    public function uploadPic()
    {
		//注明:ckeditor是使用ajax上传图片,而不是用表单提交,因此不能使用request()->file()接收图片,只能用$_FILES
		$name = $_FILES[&#39;upload&#39;][&#39;name&#39;]; 
		$size = $_FILES[&#39;upload&#39;][&#39;size&#39;];
		if($size  > 1024*2*1000){
			$arr= array(
				"uploaded" => 0,
				"error"    => "上传的图片大小不能超过2M"
			);
			exit(json_encode($arr));
		}
		$extension = pathInfo($name,PATHINFO_EXTENSION);
		$types = array("jpg","bmp","gif","png");		
		if(in_array($extension,$types)){ 
			//以日期为文件夹名,如public/uploads/20210327/
			$dateFolder = date("Ymd",time());
			$path = ROOT_PATH . &#39;public/uploads/&#39;.$dateFolder.DS;
			if(!file_exists($path)){
				mkdir($path,0777,true);
			}		
			$img_name  = str_replace(&#39;.&#39;,&#39;&#39;,uniqid("",TRUE)).".".$extension; //图片名称
			$save_path = $path.$img_name; //保存路径 
			$img_path  = &#39;/uploads/&#39;.$dateFolder.DS.$img_name; //图片路径 
			move_uploaded_file($_FILES[&#39;upload&#39;][&#39;tmp_name&#39;],$save_path);   
			$arr= array(
				"uploaded" => 1,
				"fileName" => $img_name,
				"url"      => $img_path
			);
		}else{ 
			$arr= array(
				"uploaded" => 0,
				"error"    => "图片格式不正确(只能上传.jpg/.gif/.bmp/.png类型的文件)"
			);		 
		} 
		return json_encode($arr);
    }

6 Dapatkan kandungan dalam ckeditor daripada js

<script type="text/javascript">
var editor;
$(function() {
	editor = CKEDITOR.replace(&#39;content&#39;);
})
editor.document.getBody().getText();//取得纯文本
editor.document.getBody().getHtml();//取得html文本
</script>

7 🎜>1. Anda perlu memuat turun tiga pemalam (kedua-duanya amat diperlukan), alamat muat turun:

https://ckeditor.com/cke4/addon/colorbutton

https ://ckeditor.com/cke4/addon/floatpanel

https://ckeditor.com/cke4/addon/panelbutton

2 Buka zip pemalam yang dimuat turun ke dalam direktori ckeditorplugins

3 Muatkan pemalam

Kaedah 1: Dalam fail ckeditor/config.js, tambahkan konfigurasi pemalam, seperti berikut:

Kaedah 2: Apabila memulakan editor dalam js, tambahkan konfigurasi pemalam

CKEDITOR.editorConfig = function( config ) {

    ...省略前面的代码

    //加载插件
    config.extraPlugins = &#39;colorbutton,panelbutton,floatpanel&#39;;
}

8 Konfigurasi bar alat tersuai
<script type="text/javascript">
var editor;
window.onload = function()
{
	editor = CKEDITOR.replace( &#39;content&#39;, {
            filebrowserImageUploadUrl : &#39;{:url("@admin/article/uploadPic")}&#39;,//上传图片的后端URL地址
            image_previewText : &#39; &#39;,///去掉图片上传预览区域显示的文字
			extraPlugins: &#39;colorbutton&#39;,//使用颜色插件
    });
};
</script>

Tetapkan dalam ckeditor/config. .js file

Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila Lawati:

Video Pengaturcaraan
CKEDITOR.editorConfig = function( config ) {
	//工具栏设置
	config.toolbar = &#39;MyToolbar&#39;;
	config.toolbar_Full = [
		{ name: &#39;document&#39;, items : [ &#39;Source&#39;,&#39;-&#39;,&#39;Save&#39;,&#39;NewPage&#39;,&#39;DocProps&#39;,&#39;Preview&#39;,&#39;Print&#39;,&#39;-&#39;,&#39;Templates&#39; ] },
		{ name: &#39;clipboard&#39;, items : [ &#39;Cut&#39;,&#39;Copy&#39;,&#39;Paste&#39;,&#39;PasteText&#39;,&#39;PasteFromWord&#39;,&#39;-&#39;,&#39;Undo&#39;,&#39;Redo&#39; ] },
		{ name: &#39;editing&#39;, items : [ &#39;Find&#39;,&#39;Replace&#39;,&#39;-&#39;,&#39;SelectAll&#39;,&#39;-&#39;,&#39;SpellChecker&#39;, &#39;Scayt&#39; ] },
		{ name: &#39;forms&#39;, items : [ &#39;Form&#39;, &#39;Checkbox&#39;, &#39;Radio&#39;, &#39;TextField&#39;, &#39;Textarea&#39;, &#39;Select&#39;, &#39;Button&#39;, &#39;ImageButton&#39;, 
			&#39;HiddenField&#39; ] },
		&#39;/&#39;,
		{ name: &#39;basicstyles&#39;, items : [ &#39;Bold&#39;,&#39;Italic&#39;,&#39;Underline&#39;,&#39;Strike&#39;,&#39;Subscript&#39;,&#39;Superscript&#39;,&#39;-&#39;,&#39;RemoveFormat&#39; ] },
		{ name: &#39;paragraph&#39;, items : [ &#39;NumberedList&#39;,&#39;BulletedList&#39;,&#39;-&#39;,&#39;Outdent&#39;,&#39;Indent&#39;,&#39;-&#39;,&#39;Blockquote&#39;,&#39;CreateDiv&#39;,
		&#39;-&#39;,&#39;JustifyLeft&#39;,&#39;JustifyCenter&#39;,&#39;JustifyRight&#39;,&#39;JustifyBlock&#39;,&#39;-&#39;,&#39;BidiLtr&#39;,&#39;BidiRtl&#39; ] },
		{ name: &#39;links&#39;, items : [ &#39;Link&#39;,&#39;Unlink&#39;,&#39;Anchor&#39; ] },
		{ name: &#39;insert&#39;, items : [ &#39;Image&#39;,&#39;Flash&#39;,&#39;Table&#39;,&#39;HorizontalRule&#39;,&#39;Smiley&#39;,&#39;SpecialChar&#39;,&#39;PageBreak&#39;,&#39;Iframe&#39; ] },
		&#39;/&#39;,
		{ name: &#39;styles&#39;, items : [ &#39;Styles&#39;,&#39;Format&#39;,&#39;Font&#39;,&#39;FontSize&#39; ] },
		{ name: &#39;colors&#39;, items : [ &#39;TextColor&#39;,&#39;BGColor&#39; ] },
		{ name: &#39;tools&#39;, items : [ &#39;Maximize&#39;, &#39;ShowBlocks&#39;,&#39;-&#39;,&#39;About&#39; ] }
	]; 
	config.toolbar_Basic = [
		[&#39;Bold&#39;, &#39;Italic&#39;, &#39;-&#39;, &#39;NumberedList&#39;, &#39;BulletedList&#39;, &#39;-&#39;, &#39;Link&#39;, &#39;Unlink&#39;,&#39;-&#39;,&#39;About&#39;]
	];
	//自定义
	config.toolbar_MyToolbar =[
        //加粗    斜体,    下划线    穿过线    下标字        上标字
        [&#39;Bold&#39;,&#39;Italic&#39;,&#39;Underline&#39;,&#39;Strike&#39;,&#39;Subscript&#39;,&#39;Superscript&#39;],
        // 数字列表        实体列表         减小缩进  增大缩进
        [&#39;NumberedList&#39;,&#39;BulletedList&#39;,&#39;-&#39;,&#39;Outdent&#39;,&#39;Indent&#39;],
        //   左对齐        居中对齐        右对齐        两端对齐
        [&#39;JustifyLeft&#39;,&#39;JustifyCenter&#39;,&#39;JustifyRight&#39;,&#39;JustifyBlock&#39;],
        //超链接  取消超链接 锚点
        [&#39;Link&#39;,&#39;Unlink&#39;,&#39;Anchor&#39;],
        //图片    flash    表格       水平线        表情     特殊字符      分页符
        [&#39;Image&#39;,&#39;Flash&#39;,&#39;Table&#39;,&#39;HorizontalRule&#39;,&#39;Smiley&#39;,&#39;SpecialChar&#39;,&#39;PageBreak&#39;],
        &#39;/&#39;,
        // 样式     格式    字体   字体大小
        [&#39;Styles&#39;,&#39;Format&#39;,&#39;Font&#39;,&#39;FontSize&#39;],
        //文本颜色   背景颜色
        [&#39;TextColor&#39;,&#39;BGColor&#39;],
        //全屏         显示区块         源码
        [&#39;Maximize&#39;, &#39;ShowBlocks&#39;,&#39;-&#39;,&#39;Source&#39;]
    ],
	config.format_tags = &#39;p;h1;h2;h3;h4;h5;h6;pre&#39;;
	config.removeButtons = &#39;Underline,Subscript,Superscript&#39;;
	config.removeDialogTabs = &#39;image:advanced;link:advanced&#39;;
	//加载插件
	config.extraPlugins = &#39;colorbutton,panelbutton,floatpanel&#39;; 
};
! !

Atas ialah kandungan terperinci Kongsi dan cadangkan editor teks kaya TP yang berguna-CKEditor. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:juejin.cn. Jika ada pelanggaran, sila hubungi admin@php.cn Padam