您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“thinkphp3.2嵌入百度編輯器ueditor的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“thinkphp3.2嵌入百度編輯器ueditor的示例分析”這篇文章吧。
因為排版要求,很多時候我們需要嵌入富文本編輯器,輸出帶html標簽的文本內容。因為我最近做一個后臺管理系統,要求編輯好文本內容,讓它輸出帶html標簽的文本存到服務器,客戶端發請求拿到服務器的帶標簽文本。我用的是ueditor,
1.首先我們去到這里https://www.jb51.net/codes/56667.html下載PHP版本utf版本。
把它放到Public的目錄下。
2.我們在視圖view上,要用到富文本編輯器的時候,一般都是在表單加入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> <!--建議手動加在語言,避免在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'),如下:
<div > <textarea name="intro_detail" id="intro_detail" cols="30" rows="10"></textarea> </div> <input type="text" 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();
以上是“thinkphp3.2嵌入百度編輯器ueditor的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。