首先廢話就不多說,這個富文本編輯器的下載和js等基本文件的導入略。
我的最終目標是這樣的,我們在頁面中的富文本框中輸入代碼,希望它能夠被后台接受、存入數據庫,當通過服務器將這些代碼再一次顯示在前台的頁面上的時候,我們希望所呈現的是如下的情況:

就是說需要對代碼的背景和高亮的部分的樣式也進行保存。我的解決過程是這樣的(假設在demo.html中進行輸入,在demo.php中進行處理和呈現):
1. 首先在網上查找相關信息,發現需要第三方插件,而這第三方插件就在我們的ueditor的下載包中,ueditor/third-party中便是。那么需要在demo.html中引入的就是
<script type="text/javascript" src="./Public/editor/third-party/SyntaxHighlighter/shCore.js"></script> <link rel="stylesheet" type="text/css" href="./Public/editor/third-party/SyntaxHighlighter/shCoreDefault.css">
<script>SyntaxHighlighter.all();</script>
路徑是我當前使用的路徑,換成自己的就好。
另外有人說需要在editor下的ueditor.config.js中添加
,highlightJsUrl:URL + "third-party/SyntaxHighlighter/shCore.js"
,highlightCssUrl:URL + "third-party/SyntaxHighlighter/shCoreDefault.css"
本人使用1.4.3.3版本,發現加入不加入這個配置都可以。
2.這個時候我感覺可以得到我想要的效果了,於是在demo.html中使用富文本,在其中輸入了一行js代碼,提交到demo.php中。直接輸出,結果代碼和背景的樣式並沒有呈現出來。此時的我已經很煩躁,查了半天網上的資料都沒有找到想要的結果,因為幾乎所有的信息都是一模一樣的:出自一個人的手筆。。。。。最后我F12,發現最后在前台這些代碼文字呈現的html為:
<pre class="brush:js;toolbar:false">var name = 'jyy'; var age = 26; function say(){ console.log('my name is:' + name + ' and age:' + age); }</pre>
發現有很奇特的class,知道了可能我少了一道工序。沒錯,就是editor中的uparse。當時急於快速的搭建完成,於是沒有仔細的看文檔,知道了原來這些樣式是需要uparse來進行解析的,這樣才能在前台顯示出應有的樣式,uparse文件就是ueditor中的ueditor.parse.js,於是在demo.php中是這樣的代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="./Public/Admin/js/jquery.js"></script> <script src = './Public/editor/ueditor.parse.js'></script> </head> <body> <div id="con"> <?php echo $_POST['content']; ?> </div> <script> $(function(){ uParse('#con',{rootPath:'./Public/editor'}); }); </script> </body> </html>
注意在引入相應的js文件后,需要使用uParse()方法,參數1是代碼文字的如元素的選擇器,參數2是editor相對於demo.php的路徑。
3、最后,大功告成。

