Thinkphp5框架中引入Markdown編輯器操作示例
本文實(shí)例講述了Thinkphp5框架中引入Markdown編輯器操作。分享給大家供大家參考,具體如下:
編輯器下載地址以及演示:https://pandao.github.io/editor.md/
1.把下載的項(xiàng)目放在public目錄下
2.頁面中引入jquery.js,editormd.js,editormd.css
demo
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>markdown測(cè)試</title> <link rel="stylesheet" href="/public/markdown/css/editormd.css" rel="external nofollow" /> <script src="__JS__/jquery.min.js"></script> <script src="/public/markdown/editormd.js"></script> </head> <body> <form action="{:url('test')}" enctype="multipart/form-data" method='post'> <div id="content-editormd" class="form-group"> <textarea style="display:none;" class="form-control" id="content-editormd-markdown-doc" name="content-editormd-markdown-doc"></textarea> </div> <button>提交</button> </form> <script type="text/javascript"> $(function() { editormd("content-editormd", { placeholder : '編輯你的內(nèi)容...', width : "100%", height : 1000, syncScrolling : "single", path : "/public/markdown/lib/", watch : true, previewTheme : "white",//預(yù)覽 theme : 'white',//工具欄 saveHTMLToTextarea : true, // 保存HTML到Textarea // 圖片上傳 imageUpload : true, imageFormats: ["jpg","jpeg","gif","png","bmp","webp"], imageUploadURL: "/api/Upload/markdownUpload", toolbarIcons : function() { //自定義工具欄,后面有詳細(xì)介紹 return editormd.toolbarModes['full']; // full, simple, mini }, }); }); //上傳 /* { success : 0 | 1, // 0 表示上傳失敗,1 表示上傳成功 message : "提示的信息,上傳成功或上傳失敗及錯(cuò)誤信息等。", url : "圖片地址" // 上傳成功時(shí)才返回 } */ </script> </body> </html>
上傳圖片
public function markdownUpload(){ $config = [ 'size' => 2097152, 'ext' => 'jpg,gif,png,bmp' ]; $file = $this->request->file('editormd-image-file'); $upload_path = str_replace('\\', '/', ROOT_PATH . 'public/uploads'); $save_path = '/uploads/'; $info = $file->validate($config)->move($upload_path); if ($info) { $result = [ 'success' => 1, 'message' => '上傳成功', 'url' => str_replace('\\', '/', '/public/'.$save_path . $info->getSaveName()) ]; } else { $result = [ 'success' => 0, 'message' => $file->getError(), 'url' => str_replace('\\', '/', '/public/'.$save_path . $info->getSaveName()) ]; } return json($result); }
3.頁面加載markdown格式內(nèi)容
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>頁面加載markdown格式內(nèi)容</title> <link href="/public/markdown/css/editormd.min.css" rel="external nofollow" rel="external nofollow" rel="stylesheet" /> <script src="__JS__/jquery.min.js"></script> <script src="/public/markdown/lib/marked.min.js"></script> <script src="/public/markdown/lib/prettify.min.js"></script> <script src="/public/markdown/lib/raphael.min.js"></script> <script src="/public/markdown/lib/underscore.min.js"></script> <script src="/public/markdown/lib/sequence-diagram.min.js"></script> <script src="/public/markdown/lib/flowchart.min.js"></script> <script src="/public/markdown/lib/jquery.flowchart.min.js"></script> <script src="/public/markdown/editormd.js"></script> </head> <body> <div id="doc-content"> <textarea style="display:none;"> ```php <?php echo 1; ?> ``` </textarea> </div> <script type="text/javascript"> var testEditor; $(function () { testEditor = editormd.markdownToHTML("doc-content", {//注意:這里是上面div的id htmlDecode: "style,script,iframe", emoji: true, taskList: true, tocm: true, tex: true, // 默認(rèn)不解析 flowChart: true, // 默認(rèn)不解析 sequenceDiagram: true, // 默認(rèn)不解析 codeFold: true });}); </script> </body> </html>
4.直接展示html格式的內(nèi)容
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>前端顯示</title> <link href="/public/markdown/css/editormd.min.css" rel="external nofollow" rel="external nofollow" rel="stylesheet" /> <script src="__JS__/jquery.min.js"></script> <script src="/public/markdown/lib/marked.min.js"></script> <script src="/public/markdown/lib/prettify.min.js"></script> <script src="/public/markdown/editormd.min.js"></script> </head> <body> <div id="doc-content"> {:htmlspecialchars_decode($data)} </div> <script type="text/javascript"> $(function () { editormd.markdownToHTML("doc-content"); }) </script> </body> </html>
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
yii框架配置默認(rèn)controller和action示例
這篇文章主要介紹了yii框架配置默認(rèn)controller和action示例,需要的朋友可以參考下2014-04-04Codeigniter中mkdir創(chuàng)建目錄遇到權(quán)限問題和解決方法
這篇文章主要介紹了Codeigniter中mkdir創(chuàng)建目錄遇到權(quán)限問題和解決方法,需要的朋友可以參考下2014-07-07php版微信公眾平臺(tái)實(shí)現(xiàn)預(yù)約提交后發(fā)送email的方法
這篇文章主要介紹了php版微信公眾平臺(tái)實(shí)現(xiàn)預(yù)約提交后發(fā)送email的方法,結(jié)合實(shí)例形式分析了php微信公眾平臺(tái)郵件發(fā)送的相關(guān)操作技巧,需要的朋友可以參考下2016-09-09PHP使用遞歸按層級(jí)查找數(shù)據(jù)的方法
這篇文章主要介紹了PHP使用遞歸按層級(jí)查找數(shù)據(jù)的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11詳解關(guān)于php的xdebug配置(編輯器vscode)
這篇文章主要介紹了詳解關(guān)于php的xdebug配置(編輯器vscode),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01PHP實(shí)現(xiàn)簡(jiǎn)易blog的制作
本篇文章主要介紹了PHP實(shí)現(xiàn)簡(jiǎn)易blog的制作,可以顯示添加刪除blog,有需要的可以了解一下。2016-10-10php實(shí)現(xiàn)中文轉(zhuǎn)數(shù)字
這里給大家分享的是一則使用php實(shí)現(xiàn)的中文轉(zhuǎn)數(shù)字的代碼,非常智能,也很完美,有需要的小伙伴可以參考下。2016-02-02Swoole4.4協(xié)程搶占式調(diào)度器詳解
這篇文章主要介紹了Swoole4.4協(xié)程搶占式調(diào)度器詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05使用JavaScript創(chuàng)建新樣式表和新樣式規(guī)則
這篇文章主要介紹了使用JavaScript創(chuàng)建新樣式表和新樣式規(guī)則的相關(guān)資料,需要的朋友可以參考下2016-06-06