首页 > 开发 > PHP > 正文

ThinkPHP中使用Ueditor富文本编辑器

2024-05-04 23:38:58
字体:
来源:转载
供稿:网友

这篇文章主要介绍了ThinkPHP中使用Ueditor富文本编辑器,需要的朋友可以参考下

具体插件下载:

http://www.vevb.com/qita/bianjiqi/53881.html

http://ueditor.baidu.com/website/download.html#ueditor

UEditor官方文档:

http://ueditor.baidu.com/website/document.html

之前于 "ThinkPHP-代码" 案例中发布版本:

http://www.thinkphp.cn/code/175.html

UEditor解压于:PUBLIC/Ueditor下(同级目录有:Common,Conf,Lib,Tpl等)

例:在Tpl/model/model.html :

 

  1. <html> 
  2. <title>Ueditor文本编辑器</title> 
  3. <head> 
  4. <title>完整demo</title> 
  5. <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> 
  6.  
  7. <load href="__PUBLIC__/Ueditor/ueditor.config.js" /> 
  8. <load href="__PUBLIC__/Ueditor/ueditor.all.min.js" /> 
  9.  
  10. <!--使用版--> 
  11. <!--<script type="text/javascript" charset="utf-8" src="../ueditor.all.js"></script>--> 
  12.  
  13. <!--开发版--> 
  14. <!--<script type="text/javascript" charset="utf-8" src="editor_api.js"> </script>--> 
  15.  
  16. <!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败--> 
  17. <!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文--> 
  18. <load href="__PUBLIC__/Ueditor/lang/zh-cn/zh-cn.js" /> 
  19.  
  20. <style type="text/css"
  21. .clear { 
  22. clear: both; 
  23. </style> 
  24. </head> 
  25. <body> 
  26. <div> 
  27. <form name='MyForm' id='MyForm' method='POST' action="__URL__/message_insert" > 
  28. <script id="editor" name="editor" type="text/plain" style="width:1024px;height:300"
  29. 从数据库中取出文章内容打印到此处!!! 
  30. </script> 
  31. </form> 
  32. </div> 
  33.  
  34. <div id="btns"
  35. <div> 
  36. <button onclick="getAllHtml()">获得整个html的内容</button> 
  37. <button onclick="getContent()">获得内容</button> 
  38. <button onclick="setContent()">写入内容</button> 
  39. <button onclick="setContent(true)">追加内容</button> 
  40. <button onclick="getContentTxt()">获得纯文本</button> 
  41. <button onclick="getPlainTxt()">获得带格式的纯文本</button> 
  42. <button onclick="hasContent()">判断是否有内容</button> 
  43. <button onclick="setFocus()">使编辑器获得焦点</button> 
  44. </div> 
  45. <div> 
  46. <button onclick="getText()">获得当前选中的文本</button> 
  47. <button onclick="insertHtml()">插入给定的内容</button> 
  48. <button id="enable" onclick="setEnabled()">可以编辑</button> 
  49. <button onclick="setDisabled()">不可编辑</button> 
  50. <button onclick=" UE.getEditor('editor').setHide()">隐藏编辑器</button> 
  51. <button onclick=" UE.getEditor('editor').setShow()">显示编辑器</button> 
  52. <button onclick=" UE.getEditor('editor').setHeight(300)">设置编辑器的高度为300</button> 
  53. </div> 
  54.  
  55. </div> 
  56. <div> 
  57. <button onclick="createEditor()"/> 
  58. 创建编辑器</button> 
  59. <button onclick="deleteEditor()"/> 
  60. 删除编辑器</button> 
  61.  
  62. <button onclick="submitEditor()"/> 
  63. 提交</button> 
  64. </div> 
  65. </body> 
  66. <script type="text/javascript"
  67.  
  68. //UEDITOR_HOME_URL、config、all这三个顺序不能改变(绝对路径) 
  69. //window.UEDITOR_HOME_URL = "/ThinkPHP/Public/Ueditor/";  
  70.  
  71. //实例化编辑器 
  72. var ue = UE.getEditor('editor'); 
  73.  
  74. function insertHtml() { 
  75. var value = prompt('插入html代码'''); 
  76. ue.execCommand('insertHtml', value) 
  77. function createEditor() { 
  78. enableBtn(); 
  79. UE.getEditor('editor'); 
  80. function getAllHtml() { 
  81. alert(UE.getEditor('editor').getAllHtml()) 
  82. function getContent() { 
  83. var arr = []; 
  84. arr.push("使用editor.getContent()方法可以获得编辑器的内容"); 
  85. arr.push("内容为:"); 
  86. arr.push(UE.getEditor('editor').getContent()); 
  87. alert(arr.join("/n")); 
  88. function getPlainTxt() { 
  89. var arr = []; 
  90. arr.push("使用editor.getPlainTxt()方法可以获得编辑器的带格式的纯文本内容"); 
  91. arr.push("内容为:"); 
  92. arr.push(UE.getEditor('editor').getPlainTxt()); 
  93. alert(arr.join('/n')) 
  94. function setContent(isAppendTo) { 
  95. var arr = []; 
  96. arr.push("使用editor.setContent('欢迎使用ueditor')方法可以设置编辑器的内容"); 
  97. UE.getEditor('editor').setContent('欢迎使用ueditor', isAppendTo); 
  98. alert(arr.join("/n")); 
  99. function setDisabled() { 
  100. UE.getEditor('editor').setDisabled('fullscreen'); 
  101. disableBtn("enable"); 
  102.  
  103. function setEnabled() { 
  104. UE.getEditor('editor').setEnabled(); 
  105. enableBtn(); 
  106.  
  107. function getText() { 
  108. //当你点击按钮时编辑区域已经失去了焦点,如果直接用getText将不会得到内容,所以要在选回来,然后取得内容 
  109. var range = UE.getEditor('editor').selection.getRange(); 
  110. range.select(); 
  111. var txt = UE.getEditor('editor').selection.getText(); 
  112. alert(txt) 
  113.  
  114. function getContentTxt() { 
  115. var arr = []; 
  116. arr.push("使用editor.getContentTxt()方法可以获得编辑器的纯文本内容"); 
  117. arr.push("编辑器的纯文本内容为:"); 
  118. arr.push(UE.getEditor('editor').getContentTxt()); 
  119. alert(arr.join("/n")); 
  120. function hasContent() { 
  121. var arr = []; 
  122. arr.push("使用editor.hasContents()方法判断编辑器里是否有内容"); 
  123. arr.push("判断结果为:"); 
  124. arr.push(UE.getEditor('editor').hasContents()); 
  125. alert(arr.join("/n")); 
  126. function setFocus() { 
  127. UE.getEditor('editor').focus(); 
  128. function deleteEditor() { 
  129. disableBtn(); 
  130. UE.getEditor('editor').destroy(); 
  131.  
  132. //提交方法 
  133. function submitEditor() { 
  134. //此处以非空为例 
  135. if(ue.hasContents()){ 
  136. ue.sync(); //同步内容 
  137. document.MyForm.submit(); 
  138. }  
  139.  
  140. function disableBtn(str) { 
  141. var div = document.getElementById('btns'); 
  142. var btns = domUtils.getElementsByTagName(div, "button"); 
  143. for (var i = 0, btn; btn = btns[i++];) { 
  144. if (btn.id == str) { 
  145. domUtils.removeAttributes(btn, ["disabled"]); 
  146. else { 
  147. btn.setAttribute("disabled""true"); 
  148. function enableBtn() { 
  149. var div = document.getElementById('btns'); 
  150. var btns = domUtils.getElementsByTagName(div, "button"); 
  151. for (var i = 0, btn; btn = btns[i++];) { 
  152. domUtils.removeAttributes(btn, ["disabled"]); 
  153.  
  154. </script> 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表