本文介紹了thinkphp3.2嵌入百度編輯器ueditor,分享給大家,希望此文章對(duì)各位有所幫助
因?yàn)榕虐嬉螅芏鄷r(shí)候我們需要嵌入富文本編輯器,輸出帶html標(biāo)簽的文本內(nèi)容。因?yàn)槲易罱鲆粋€(gè)后臺(tái)管理系統(tǒng),要求編輯好文本內(nèi)容,讓它輸出帶html標(biāo)簽的文本存到服務(wù)器,客戶端發(fā)請(qǐng)求拿到服務(wù)器的帶標(biāo)簽文本。我用的是ueditor,
1.首先我們?nèi)サ竭@里http://www.jb51.net/codes/56667.html下載PHP版本utf版本。
把它放到Public的目錄下。
2.我們?cè)谝晥Dview上,要用到富文本編輯器的時(shí)候,一般都是在表單加入textarea,
<form> <div><textarea name="intro_detail" id="intro_detail" cols="30" rows="10"></textarea> </div> </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> <!--建議手動(dòng)加在語(yǔ)言,避免在ie下有時(shí)因?yàn)榧虞d語(yǔ)言失敗導(dǎo)致編輯器加載失敗--> <!--這里加載的語(yǔ)言文件會(huì)覆蓋你在配置項(xiàng)目里添加的語(yǔ)言類型,比如你在配置項(xiàng)目里配置的是英文,這里加載的中文,那最后就是中文--> <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.通常我們?cè)诒韱卫锩婕觽€(gè)按鈕的時(shí)候會(huì)默認(rèn)把表單里面的數(shù)據(jù)全部提交上去,但是我的項(xiàng)目里面還涉及到圖片上傳問(wèn)題,我在這里采用的是ajax異步提交,那么問(wèn)題來(lái)了,我們能否通過(guò)jq中的("#intro_detail").val()的值拿到要提交的值呢,答案是不能的,我的處理方法是,在textarea下面加一個(gè)隱藏的input,我門用ueditor提供的方法拿到里面的值賦給input,讓它隨著表單一起提交過(guò)去,在控制器便可以通過(guò)_POST(‘表單的name'),如下:
<div > <textarea name="intro_detail" id="intro_detail" cols="30" rows="10"></textarea> </div> <input type="text" style="display: none" id="intro_detail1" name="intro_detail1" >
ajax提交,
把文本框輸入的帶標(biāo)簽的用單引號(hào)拼起來(lái),存到input里面一并發(fā)過(guò)去,至于為啥用單引號(hào),不然的話發(fā)不過(guò)去,會(huì)自動(dòng)過(guò)濾掉標(biāo)簽,我們?cè)谀脭?shù)據(jù)出來(lái)的時(shí)候把單引號(hào)處理掉就可以。
$.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("參數(shù)錯(cuò)誤"); } } });
5.控制器里面,可以用$_POST(‘表單的name')拿到數(shù)據(jù),寫進(jìn)數(shù)據(jù)庫(kù)
$db = M('game'); $data = $db->create(I('post.')); $data['intro_detail'] = $_POST['intro_detail1']; $db->add($data);
6.我們?cè)谌?shù)據(jù)到視圖的時(shí)候,把單引號(hào)處理掉就可以
foreach($result as $key =>$value){ $result[$key]['intro_detail']=str_replace("'","",$result[$key]['intro_detail']);//過(guò)濾單引號(hào) } $this->assign('game_list', $result); $this->display('');
$result是我用sql語(yǔ)句查到的數(shù)據(jù)庫(kù)內(nèi)容,而intro_detail就是存入數(shù)據(jù)庫(kù)帶標(biāo)簽和單引號(hào)的文本內(nèi)容
$user = M('game'); $result = $user->field();
7.其實(shí)并不難,我也是為大家提供下思路,可以多多討論,我也是小白。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持。