本文主要和大家介紹thinkphp3.2嵌入百度編輯器ueditor的實例程式碼,具有一定的參考價值,有興趣的可以了解一下,希望能幫助大家。
本文介紹了thinkphp3.2嵌入百度編輯器ueditor,分享給大家,希望這篇文章對各位有所幫助
因為排版要求,很多時候我們需要嵌入富文本編輯器,輸出帶有html標籤的文字內容。因為我最近做一個後台管理系統,要求編輯好文字內容,讓它輸出帶有html標籤的文字存到伺服器,客戶端發請求拿到伺服器的標籤文字。我用的是ueditor,
把它放到Public的目錄下。
2.我們在視圖view上,要用到富文本編輯器的時候,一般都是在表單加入textarea,
<form> <p><textarea name="intro_detail" id="intro_detail" cols="30" rows="10"></textarea> </p> </form>
3.在html最後加上script配置文字方塊初始值,其中PUBLIC是我在config配置的路徑
<script type="text/javascript" src="__PUBLIC__/ueditor/ueditor.config.js"></script> <script type="text/javascript" src="__PUBLIC__/ueditor/ueditor.all.min.js"></script> <!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败--> <!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文--> <script type="text/javascript" src="__PUBLIC__/ueditor/lang/zh-cn/zh-cn.js"></script> <script type="text/javascript"> UE.getEditor('intro_detail',{ //intro_detail为要编辑的textarea的id initialFrameWidth: 418, //初始化宽度 initialFrameHeight: 500, //初始化高度 }); </script>
4.通常我們在表單裡面加個按鈕的時候會默認把表單裡面的資料全部提交上去,但是我的專案裡面還涉及到圖片上傳問題,我在這裡採用的是ajax異步提交,那麼問題來了,我們能否通過jq中的("#intro_detail").val()的值拿到要提交的值呢,答案是不能的,我的處理方法是,在textarea下面加一個隱藏的input,我門用ueditor提供的方法拿到裡面的值賦給input,讓它隨著表單一起提交過去,在控制器便可以通過_POST('表單的name'),如下:
<p > <textarea name="intro_detail" id="intro_detail" cols="30" rows="10"></textarea> </p> <input type="text" style="display: none" id="intro_detail1" name="intro_detail1" >
ajax提交,
複製程式碼 程式碼如下:
$("#intro_detail1").val("'"+UE.getEditor(' intro_detail').getContent()+"'");
把文字方塊輸入的帶標籤的用單引號拼起來,存到input裡面一併發過去,至於為啥用單引號,不然的話發不過去,會自動過濾掉標籤,我們拿資料出來的時候把單引號處理掉就可以。
$.ajax({ type: "POST", url: "<{:U('Admin/GameManager/Game/modGame')}>", dataType: 'json', processData: false, contentType: false, cache: false, data: formData, success:function(r){ if(r.success){ alert('编辑成功'); window.location.reload();//重新刷新一次 $('#user_dialog').modal('hide'); } else{ alert("参数错误"); } } });
5.控制器裡面,可以用$_POST('表單的name')拿到數據,寫進資料庫
$db = M('game'); $data = $db->create(I('post.')); $data['intro_detail'] = $_POST['intro_detail1']; $db->add($data);
6.我們在取資料到視圖的時候,把單引號處理掉就可以
foreach($result as $key =>$value){ $result[$key]['intro_detail']=str_replace("'","",$result[$key]['intro_detail']);//过滤单引号 } $this->assign('game_list', $result); $this->display('');
$result是我用sql語句查到的資料庫內容,而intro_detail就是存入資料庫標籤和單引號的文字內容
$user = M('game'); $result = $user->field();
7.其實並不難,我也是為大家提供下思路,可以多多討論,我也是小白。
相關推薦:
以上是thinkphp3.2嵌入百度編輯器ueditor方法實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!