亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > Discuz > 正文

discuz二次開發調用編輯器發帖顯示html何解?

2024-09-11 09:03:26
字體:
來源:轉載
供稿:網友

本人在 discuz 二次開發時,調用編輯器發帖后顯示的是html源代碼,找了好久才解決這個問題,本人現在把解決問題的方法分享給大家。

discuz的開發文檔很少,在二次開發的時候用discuz的編輯器,顯示的是html代碼,查看源碼和各種莫名其妙的問題著實令人摸不著頭腦。而discuz帖子存儲在數據庫的卻是自定義的bbcode而不是正常的html代碼。這也就導致直接調用discuz的編輯器發帖顯示出來的帖子成了html源碼。

網上找了很久也沒找到相應的問題,最后通過數據庫的字段對比才知道問題的所在。

1、問題所在

調用編輯器編輯的源碼

  1. 頂頂頂頂頂<b><i>的頂頂頂頂頂</i></b>頂頂頂頂的的<a href="http://127.0.0.1:8080/data/attachment/album/201507/22/112816z1znnm01wmozpvgb.png" target="_blank"><img src="http://127.0.0.1:8080/data/attachment/album/201507/22/112816z1znnm01wmozpvgb.png" border="0" alt=""></a> 

而默認發帖的源碼為:

  1. 頂頂頂頂頂[b][i][u]的頂頂頂頂頂[/u][/i][/b]頂頂頂頂的的[url=data/attachment/album/201507/22/112816z1znnm01wmozpvgb.png][img]data/attachment/album/201507/22/112816z1znnm01wmozpvgb.png[/img][/url] 

于是網上找了一通,最后才知道這是discuz的特色,對html代碼進行了特殊的處理,其采用了bbcode的方式進行二次編碼,顯示帖子的時候再將bbcode編碼轉換成正常的html代碼,discuz這么做的目的也顯而易見,最終是為了提高整個應用的安全性。

2、提交前對html進行bbcode編碼

static/js/bbcode.js中的html2bbcode可以講正常的html編碼轉換成discuz自定義的bbcode編碼

最后在./static/image/editor/editor_function.js中的edit_save()找到了獲取編輯器內容,并設置編碼.

  1. var p = window.frames['uchome-ifrHtmlEditor']; 
  2. var obj = p.window.frames['HtmlEditor']; 
  3. var status = p.document.getElementById('uchome-editstatus').value; 
  4. $('uchome-ttHtmlEditor').value = p.document.getElementById('sourceEditor').value; //Vevb.com 

3、完整的調用方式

  1. <script type="text/javascript" src="{$_G['setting']['jspath']}forum_post.js?{VERHASH}"></script> 
  2. <script src="static/js/bbcode.js?{VERHASH}" type="text/javascript"></script> 
  3. <script type="text/JavaScript"
  4.     var fid = {$_G['fid']};//插件所在版塊ID 
  5. </script> 
  6.  
  7. <!--{subtemplate home/editor_image_menu}--> 
  8. <textarea class="userData" name="content" id="uchome-ttHtmlEditor" style="height: 100%; width: 100%; display: none; border: 0px"></textarea> 
  9. <iframe src='home.php?mod=editor&charset={CHARSET}&allowhtml=1&isportal=0' name='uchome-ifrHtmlEditor' id='uchome-ifrHtmlEditor'  scrolling='no' style='width:85%;height:400px;border:1px solid #C5C5C5;position:relative;' border=0 frameborder=0 ></iframe> 
  10. </br> 
  11.  
  12. <input type="hidden" name="formhash" id="formhash" value="{FORMHASH}" /> 
  13. <input type="hidden" name="posttime" id="posttime" value="{$posttime}" /> 
  14. <input type="hidden" name="wysiwyg" id="e_mode" value="1" /> 
  15. <input type="hidden" name="special" value="127" /> 
  16. <input type="hidden" name="specialextra" value="plugin_test" /> 
  17. <input type="hidden" id="message" name="message" value="" /> 
  18. <input id='submit_editsubmit' class='btn' type='button' value='提交'  name='editsubmit' onClick='validate(this);'
  19. </form> 
  20.  
  21. <script type="text/javascript" src="static/image/editor/editor_base.js?{VERHASH}"></script> 
  22. <script type="text/javascript" src="static/image/editor/editor_function.js?{VERHASH}"></script> 
  23.  
  24.  
  25. <script type="text/javascript"
  26. var textobj = $('uchome-ttHtmlEditor'); 
  27. var wysiwyg = (BROWSER.ie || BROWSER.firefox || (BROWSER.opera >= 9)) && parseInt('1') == 1 ? 1 : 0; 
  28. var allowswitcheditor = parseInt('1'); 
  29. var allowhtml = parseInt('0'); 
  30. var allowsmilies = parseInt('1'); 
  31. var allowbbcode = parseInt('1'); 
  32. var allowimgcode = parseInt('1'); 
  33. var simplodemode = parseInt('0'); 
  34. var fontoptions = new Array("宋體""新宋體""黑體""微軟雅黑""Arial""Verdana""Mingliu""Helvetica""Trebuchet MS""Tahoma""Impact""Times New Roman""仿宋,仿宋_GB2312""楷體,楷體_GB2312"); 
  35. var smcols = 8; 
  36. var custombbcodes = new Array(); 
  37. </script> 
  38.  
  39. <script type="text/JavaScript"
  40.  
  41. function validate(obj) { 
  42.     var mcpp = window.frames['uchome-ifrHtmlEditor']; 
  43.     var mcpobj = mcpp.window.frames['HtmlEditor']; 
  44.      
  45.     edit_save();  
  46.     jQuery("#message").val(html2bbcode(mcpobj.document.body.innerHTML)); 
  47.     window.onbeforeunload = null
  48.     obj.form.submit();   
  49.     return false;   
  50. </script> 

其中jQuery("#message").val(html2bbcode(mcpobj.document.body.innerHTML));是將html轉成bbcode。

4、這里只是web前端進行了bbcode的編碼,然而如果有需要也可以在php處理函數中進行bbcode的轉換.

  1. $str = "<b><i>的的頂頂頂頂頂的頂頂頂頂頂頂頂頂頂的的</i></b>"
  2. //html轉成bbcode 
  3. require_once libfile('function/editor'); 
  4. echo html2bbcode($str); 
  5.  
  6. echo "</br>"
  7.  
  8. $str2 = '[b][i]的的頂頂頂頂頂的頂頂頂頂頂頂頂頂頂的的[/i][/b]'
  9. //將bbcode轉成html 
  10. require_once libfile('function/discuzcode');  
  11. echo discuzcode($str2, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0); 

Discuz x2.5編輯器代碼的設置方法

discuz編輯器可以方便的讓用戶使用Discuz代碼,從而把帖子的用戶體驗做的更好,一個站長必須掌握編輯的基本方法,相對Discuz論壇來說,就是要熟悉Discuz編輯器代碼。

為了讓新手更容易上手發帖,在后臺--界面--編輯設置--全局設置:

1、默認的編輯器模式:純文本模式;

2、是否允許切換編輯器模式:是;

3、編輯欄樣式:高級。

使用純文本模式,主要為防止一些新手發帖復制粘貼的問題,過濾掉一些不規范的編輯,讓內容看起來更規范。默認使用高級模式也是為了讓更多可以使用的功能突顯出來,讓用戶去體驗和使用。

編輯器里面的一些功能是通過用戶組權限和版塊權限來控制,比如音樂、視頻、flash的功能,@朋友的功能,隱藏信息的功能,下載遠程圖片的功能,QQ在線的功能等。

比如:

1、開啟音樂、視頻、flash的功能,需要在用戶組--論壇相關--帖子相關--允許使用 [audio] [media] [flash] 等多媒體代碼:選擇是;同時版塊設置--帖子選項--允許使用 [audio] [media] [flash] 等多媒體代碼:選擇是;

2、@朋友的功能,隱藏信息的功能,下載遠程圖片的功能都在用戶組權限里面設置,具體可以查看Discuz x2.5 用戶組設置策略方法

3、QQ在線的功能:在后臺--界面--編輯設置--Discuz代碼:QQ勾選可用顯示即可,也可以通過詳情來編輯不同用戶組的使用權限。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品中文久久久久久久| 性色av一区二区三区红粉影视| 91香蕉嫩草影院入口| 国产精品色悠悠| 久久激情视频免费观看| 韩曰欧美视频免费观看| 欧美精品一二区| 亚洲电影中文字幕| 超在线视频97| 精品一区二区电影| 日韩av影院在线观看| 久久久欧美一区二区| 亚洲第一福利视频| 国产99视频在线观看| 久热精品视频在线免费观看| 欧美劲爆第一页| 国产精品美女免费| 亚洲福利精品在线| 亚洲国产一区自拍| 亚洲国产精品嫩草影院久久| 久久久噜噜噜久久中文字免| 17婷婷久久www| 欧美韩日一区二区| 欧美日韩在线视频观看| 91精品91久久久久久| 国产成人精品一区二区| 国产精品中文久久久久久久| 全亚洲最色的网站在线观看| 亚洲电影免费观看高清| 欧美一区二区.| 蜜臀久久99精品久久久久久宅男| 欧美午夜美女看片| 岛国av在线不卡| 欧美一区三区三区高中清蜜桃| 奇米四色中文综合久久| 成人欧美一区二区三区在线湿哒哒| 激情亚洲一区二区三区四区| 欧美日本啪啪无遮挡网站| 久久69精品久久久久久久电影好| 秋霞av国产精品一区| 成人天堂噜噜噜| 久久全球大尺度高清视频| 亚洲精品97久久| 国内精品久久久久| 久久不射热爱视频精品| 久久理论片午夜琪琪电影网| 欧美日韩xxxxx| 黑人巨大精品欧美一区二区三区| 欧美激情在线狂野欧美精品| 久久久久国产精品www| 国产在线精品播放| 98精品国产自产在线观看| 亚洲综合色av| 亚洲色图色老头| 欧美在线视频观看| 疯狂蹂躏欧美一区二区精品| 欧美寡妇偷汉性猛交| 国产欧美中文字幕| 国产成人精品久久二区二区| 不卡中文字幕av| 国产日韩欧美自拍| 欧美成人午夜免费视在线看片| 日韩视频在线观看免费| 亚洲第一区第一页| 日韩中文字幕国产精品| 亚洲护士老师的毛茸茸最新章节| 欧美激情区在线播放| 国产成人免费av电影| 日韩美女免费线视频| 久久久久久久久久久免费| 国内偷自视频区视频综合| 亚洲国产成人爱av在线播放| 91精品久久久久| 欧美成aaa人片在线观看蜜臀| 久色乳综合思思在线视频| 亚洲福利视频久久| 欧美极品少妇与黑人| 欧美一级电影免费在线观看| 成人激情av在线| 国产成人黄色av| 亚洲电影免费观看高清完整版在线| 国产精品精品久久久久久| 欧美激情精品久久久久| 久久人人爽人人爽人人片av高请| 日韩av快播网址| 国语自产偷拍精品视频偷| 欧美中文字幕视频在线观看| 91精品久久久久久久久不口人| 亚洲激情视频网站| 69av在线视频| 日韩精品免费在线视频| 日韩成人在线视频观看| 97精品久久久中文字幕免费| 成人av在线网址| 一本一道久久a久久精品逆3p| 国产主播喷水一区二区| 国产精品久久久久久影视| 中文字幕av一区中文字幕天堂| 国产欧美一区二区白浆黑人| 欧美在线视频一区二区| 午夜精品蜜臀一区二区三区免费| 中文字幕亚洲色图| 日韩视频第一页| 国产精品视频播放| 精品国偷自产在线视频99| 日韩中文字幕国产精品| 亚洲精品第一国产综合精品| 97高清免费视频| 国自在线精品视频| 久久国产加勒比精品无码| 成人激情视频在线| 97精品国产91久久久久久| 国产精品久久久久久久一区探花| 国产精品成人aaaaa网站| 久久黄色av网站| 97国产精品免费视频| 一区二区日韩精品| 亚洲大胆人体在线| 色婷婷综合成人av| 久久久亚洲福利精品午夜| 色偷偷av亚洲男人的天堂| 国产欧美日韩免费看aⅴ视频| 国产99视频在线观看| 国产精品第七影院| 国产91色在线播放| 亚洲国产欧美一区二区三区久久| 亚洲男人天堂视频| 欧美专区福利在线| 日韩中文字幕视频在线| 久久精品欧美视频| 国产亚洲xxx| 国产精品精品国产| 日韩精品中文字幕在线播放| 国产精品自产拍在线观| 少妇高潮久久77777| 欧美国产日产韩国视频| 日韩av在线高清| 亚洲18私人小影院| 欧美成人精品激情在线观看| 久久久久久久久久久久av| 97视频免费在线看| www.亚洲人.com| 亚洲人成电影网| 91精品久久久久久久| 91在线观看欧美日韩| 亚洲自拍小视频免费观看| 98视频在线噜噜噜国产| 社区色欧美激情 | 精品欧美一区二区三区| 国产成人免费av| 狠狠躁夜夜躁久久躁别揉| 久久人人爽人人爽人人片亚洲| 北条麻妃在线一区二区| 久久99精品久久久久久琪琪| 中文字幕亚洲一区二区三区五十路| 色播久久人人爽人人爽人人片视av| 在线视频精品一| 欧美性猛交xxxxx水多| 在线日韩av观看| 久久久久亚洲精品| 国产激情久久久| 国产女精品视频网站免费| 777国产偷窥盗摄精品视频| 国产精品一二三视频|