这篇文章主要介绍了Thinkphp5框架中引入Markdown编辑器操作,结合实例形式分析了Thinkphp5引入Markdown编辑器的具体步骤与相关操作技巧,需要的朋友可以参考下
本文实例讲述了Thinkphp5框架中引入Markdown编辑器操作。分享给大家供大家参考,具体如下:
编辑器下载地址以及演示:https://pandao.github.io/editor.md/
1.把下载的项目放在public目录下
2.页面中引入jquery.js,editormd.js,editormd.css
demo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>markdown测试</title>
<link rel="stylesheet" href="/public/markdown/css/editormd.css" rel="external nofollow" />
<script src="X19KU19fL2pxdWVyeS5taW4uanM="></script>
<script src="L3B1YmxpYy9tYXJrZG93bi9lZGl0b3JtZC5qcw=="></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 : '编辑你的内容...',
width : "100%",
height : 1000,
syncScrolling : "single",
path : "/public/markdown/lib/",
watch : true,
previewTheme : "white",//预览
theme : 'white',//工具栏
saveHTMLToTextarea : true, // 保存HTML到Textarea
// 图片上传
imageUpload : true,
imageFormats: ["jpg","jpeg","gif","png","bmp","webp"],
imageUploadURL: "/api/Upload/markdownUpload",
toolbarIcons : function() { //自定义工具栏,后面有详细介绍
return editormd.toolbarModes['full']; // full, simple, mini
},
});
});
//上传
/*
{
success : 0 | 1, // 0 表示上传失败,1 表示上传成功
message : "提示的信息,上传成功或上传失败及错误信息等。",
url : "图片地址" // 上传成功时才返回
}
*/
</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格式内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>页面加载markdown格式内容</title>
<link href="/public/markdown/css/editormd.min.css" rel="external nofollow" rel="external nofollow" rel="stylesheet" />
<script src="X19KU19fL2pxdWVyeS5taW4uanM="></script>
<script src="L3B1YmxpYy9tYXJrZG93bi9saWIvbWFya2VkLm1pbi5qcw=="></script>
<script src="L3B1YmxpYy9tYXJrZG93bi9saWIvcHJldHRpZnkubWluLmpz"></script>
<script src="L3B1YmxpYy9tYXJrZG93bi9saWIvcmFwaGFlbC5taW4uanM="></script>
<script src="L3B1YmxpYy9tYXJrZG93bi9saWIvdW5kZXJzY29yZS5taW4uanM="></script>
<script src="L3B1YmxpYy9tYXJrZG93bi9saWIvc2VxdWVuY2UtZGlhZ3JhbS5taW4uanM="></script>
<script src="L3B1YmxpYy9tYXJrZG93bi9saWIvZmxvd2NoYXJ0Lm1pbi5qcw=="></script>
<script src="L3B1YmxpYy9tYXJrZG93bi9saWIvanF1ZXJ5LmZsb3djaGFydC5taW4uanM="></script>
<script src="L3B1YmxpYy9tYXJrZG93bi9lZGl0b3JtZC5qcw=="></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, // 默认不解析
flowChart: true, // 默认不解析
sequenceDiagram: true, // 默认不解析
codeFold: true
});});
</script>
</body>
</html>
4.直接展示html格式的内容
<!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="X19KU19fL2pxdWVyeS5taW4uanM="></script>
<script src="L3B1YmxpYy9tYXJrZG93bi9saWIvbWFya2VkLm1pbi5qcw=="></script>
<script src="L3B1YmxpYy9tYXJrZG93bi9saWIvcHJldHRpZnkubWluLmpz"></script>
<script src="L3B1YmxpYy9tYXJrZG93bi9lZGl0b3JtZC5taW4uanM="></script>
</head>
<body>
<div id="doc-content">
{:htmlspecialchars_decode($data)}
</div>
<script type="text/javascript">
$(function () {
editormd.markdownToHTML("doc-content");
})
</script>
</body>
</html>
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
沃梦达教程
本文标题为:Thinkphp5框架中引入Markdown编辑器操作示例
猜你喜欢
- PHP实现微信支付(jsapi支付)流程步骤详解 2022-10-09
- 用nohup命令实现PHP的多进程 2023-09-02
- PHP中PDO事务处理操作示例 2022-10-15
- laravel实现按月或天或小时统计mysql数据的方法 2023-02-22
- laravel通用化的CURD的实现 2023-03-17
- PHP简单实现二维数组的矩阵转置操作示例 2022-10-02
- Laravel balde模板文件中判断数据为空方法 2023-08-30
- PHP仿tp实现mvc框架基本设计思路与实现方法分析 2022-10-18
- php微信公众号开发之秒杀 2022-11-23
- windows下9款一键快速搭建PHP本地运行环境的好工具(含php7.0环境) 2023-09-02