ThinkPHP示例:强大的Ueditor富文本编辑器
于2013-09-10更新版本:
Ueditor文本编辑器 - 完整demo http://www.thinkphp.cn/code/325.html
具体插件下载:
http://ueditor.baidu.com/website/download.html#ueditor
解压到:PUBLIC/Ueditor下(同级目录有:Common,Conf,Lib,Tpl等)
例:在Tpl/model/model.html :
<html>
<title>Ueditor文本编辑器</title>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<load href="/Public/Js/Jquery/jquery-1.7.2.js" />
<script type="text/javascript">
window.UEDITOR_HOME_URL = "/ThinkPHP/Public/Ueditor/"; //UEDITOR_HOME_URL、config、all这三个顺序不能改变(绝对路径)
</script>
<load href="/Public/Ueditor/editor_config.js" />
<load href="/Public/Ueditor/editor_all_min.js" />
<script type="text/javascript">
var editor;
function BeForeForm(formName){
if(editor.hasContents()){ //此处以非空为例
editor.sync(); //同步内容
$("form[name='"+formName+"']").submit(); //提交表单判断,此方法是自己写的,不予给出,抱歉!只给提交方法!
}
}
</script>
</head>
原本富文本域写法如下:
<textarea></textarea>
现在Ueditor支持div,script等标签
建议:script,因为这是官方文档的建议如:<body>
<form name='MyForm' id='MyForm' method='POST' action="">
<script type="text/plain" id="content" name="content"></script>
<script type="text/javascript">
$(function(){
var editor;
//具体参数配置在 editor_config.js 中
var options = {
initialFrameWidth:1000, //初化宽度
initialFrameHeight:300, //初化高度
focus:false, //初始化时,是否让编辑器获得焦点true或false
maximumWords:1000, //允许的最大字符数
};
editor = new UE.ui.Editor(options);
editor.render("content");
editor.ready(function(){
editor.setContent('{$vo.content}'); //加载数据库Action.class.PHP传过来的值
});
});
</script>
<input type="button" value="保存" onclick="BeForeForm('MyForm');">
</form>
</body>
</html>
后台表单提交后的Action.class.php 原本ThinkPHP的写法存入数据库便可!可无需类似 $content = htmlspecialchars($_POST['content']); 该方法的转换
备注:content 字段是为 text 类型!
后台代码为:
$direction = D("direction"); //包含 content 字段
$direction -> create();
$direction -> add();