summernote html标签,关于summernote编辑器代码段html的插入问题

最近在做这个视频学习网站的时候,由于这个程序的代码编辑器使用的是summernote,所以就需要插入代码,让大家看的更清楚一点,之前想过使用一些高亮的插件,但是发现没有太大必要,只要大家看的清楚就可以了。

本身在这个编辑器里就一个代码段,查看源代码我们不难发现其本身就是增加了

标签。这样我们就可以通过前台进行对pre标签的css,进行展示。

不过发现在后台插入的时候没有太大问题,但是更改的时候,发现从数据库取出的数据,被浏览器给识别了,这就造成修改保存出现了很大的问题。

仔细翻看了网上的资料发现,究其根本原因就是html的转义问题,summernote并没有对单双引号进行转义,所以,我需要在提交到数据库的时候使用一些方法进行转义,然后在输出的时候再次转义一下。

又由于本身网站就是utf8的统一编码,所以不需要考虑编码的问题。

贴出代码public function update_article($id)

{

$id = !empty($id) ? intval($id) : exit('param id error');

$title = $this->input->post("title");

$body = $this->input->post("body");

$body = htmlentities($body);

$des = $this->input->post("des");

$keywords = $this->input->post("keywords");

$cid = $this->input->post("cid");

$pic = $this->input->post("pic_url",TRUE) == '' ? $this->pic_default($cid) : $this->input->post("pic_url",TRUE);

$author = $this->input->post("author");

$video_url= $this->input->post("video_url");

$re_id= $this->input->post("re_id");

这里是关键$body = $this->input->post("body");

$body = htmlentities($body);

然后我们在前台输入的时候使用html_entity_decode,再将转义的代码再次转义回来。

问题解决,需要注意的地方,猜测,summernote本身在初始化的时候可以识别转义的代码,所以在它初始化之前不需要进行转移输出。

第二,注意在如果使用的也是ci框架,记得这里的true要去掉。$body = $this->input->post("body",TRUE);

最主要的问题就是html在php程序下的转义实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值