PHP学习---如何把富文本编辑器里面的内容生成html 传回给android客户端
我们知道后台编辑文章对应的是AdminPost 下面的add.html
首先我们去改add.html界面
首先我们需要的是去看懂它的表单提交和跳转是怎么设置的
他的方式是 action="{:u('AdminPost/add_post')}"
或者是:href="{:U('AdminPost/index')}"
或者是:href="{:U('AdminPost/add',array('term'=>empty($term['term_id'])?'':$term['term_id']))}"
前面对ThinkCMF框架结构的学习我们知道,对应的add_post 这个方法一定是在application的控制器Controller下面的AdminPostController.class.php里面定义的
当然模块应该是Portal下面的,这是表单提交的,也就是把表单里面的各个输入框,富文本编辑器里面的东西都提交给这个方法处理了
我现在新建了一张表,里面就是专门来放文章的各个来源
对应的数据库是这样的,当然数据库外键什么的就先忽略,因为目前只是学习 不需要记录是谁发的这个文章等userid什么的
CREATE TABLE `zhuanti`(
id int unsigned not null primary key auto_increment COMMENT '编号',
type enum('travel','hotel','food') not null default 'travel' COMMENT '类型',
title varchar(35) not null default '' COMMENT '标题',
recommended tinyint not null default '0' COMMENT '推荐',
istop tinyint not null default '0' COMMENT '置顶',
pubdate varchar(50) not null default '0' COMMENT '发布时间',
keywords varchar(50) not null default '' COMMENT '关键词',
com_source varchar(50) not null default '' COMMENT '机构来源',
zhuanti_content varchar(250) not null default '' COMMENT '专题内容',
imgsrc varchar(500) not null default '' COMMENT '图片地址',
picdomain varchar(500) not null default '' COMMENT '前图片缀地址'
)engine=MyISAM DEFAULT CHARSET=UTF8;
后台发布文章对应的界面如下所示:
因为我的目的很明确,就是只要富文本的编辑器里面的东西,编程纯html页面,而且传给android段的是一个html地址,用webview打开的,
所以这里面其他的东西都可以忽略掉,
然后把 ThinkCMF的验证都去掉,那个东西目前还么有研究,只要这个表单就行
接下来就是需要去重写 add_post方法了
public function add_post(){
if (IS_POST) {
$data['pubdate'] = $_POST['post']['pubdate'];
$data['istop'] = $_POST['post']['istop'];
$data['recommended'] = $_POST['post']['recommended'];
$data['title'] = $_POST['post']['title'];
$data['keywords'] = $_POST['post']['keywords'];
$data['com_source'] = $_POST['post']['com_source'];
$data['zhuanti_content'] = $this->getHTMLurl();
$data['type'] = $_POST['type'][0];
$data['imgsrc'] = implode('|',$_POST['photos_url']);
$m = M('Zhuanti');
if($id = $m->data($data)->add()){
// insert into zhuanti (bupdate,istop...)values(值);
$this->success('添加成功');
exit();
}
$this->error('添加失败 : '.$m->getError());
}
}
这里面只关心两个东西,$data['zhuanti_content'] = $this->getHTMLurl();这个里面返回来的就是content对应的html地址
$data['imgsrc'] = implode('|',$_POST['photos_url']);这个是把多张图放在一个字符串里面
自定义的方法是下面这样的
private function getHTMLurl(){
$content = $_POST['post']['content'];
$src = './tpl/html/'.time().'.html';
file_put_contents($src, $content);
return $src;
}
这里面是什么意思呢,首先获取内容,然后生成相应的html地址,加上时间蹉 保证唯一 其实这里简单了,还需要优化的
然后生成html
file_put_contents($src, $content);
到这里还没有结束,是会报错的,因为html是需要前台显示的,也就是那个html是见在tpl下面的,那么在application的控制器里面必须要建立一个控制器了
}
}
就这样结束了,然后是后台接口的编写了,这里先不介绍了
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了PHP学习---如何把富文本编辑器里面的内容生成html 传回给android客户端,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
上一篇: iis7.0+php上传特大文件解决方案。该怎么解决
下一篇: php __autoload魔术方法