源码论坛新源代

 找回密码
 立即加入

QQ登录

只需一步,快速开始



香港云VPS只要28/月新源代香港VPS 站长建站必备文字广告30/月 Q 380559645
查看: 561|回复: 2
收起左侧

关于发文章时候编辑器自动替换掉的解决办法

[复制链接]
  • TA的每日心情
    郁闷
    2024-4-27 10:56
  • 签到天数: 83 天

    连续签到: 2 天

    [LV.6]常住居民II

    格式 发表于 2013-11-14 18:27:14 | 显示全部楼层 |阅读模式

    马上注册,下载更多源码!

    您需要 登录 才可以下载或查看,没有账号?立即加入

    x
    在后台进行文章编辑的时候,如果文章内容中带有DIV,在提交到数据库的时候会被直接去掉或者替换成<P>标签,见下图
    0000001.jpg

    000002.jpg
    通过初步分析,开始觉得是编辑器过滤了DIV标签,后面通过查资料发现,在kindeditor编辑器里面有一个filterMode 过滤模式,将其中的filterMode : ture改为filterMode : false,也就是关闭过滤。但是悲催的事情还是发生了。
    后面问了kindeditor的官方,说是只要关闭过滤就可以不再过滤了,后面通过数据捉包,发现在发送的数据包内容是没有过滤的但是在数据库里面查看的话内容还是被替换或者过滤了,只要基本上就可以认定是数据处理的时候过滤了,那问小黄牛具体的答复是include/form.class.php文件进行数据提交处理。
    最后问了CMS的作者,得到的答复,没有进行标签过滤。

    研究了几天无果后,换了DED来做了。

    终于把项目做完了,回来再看到时候,我觉得还是原来的思路是对的,那就通过数据提交这里的查找,最后一步一步跟踪,最后发现在data.input.class.php文件中找到下面的这段
    1.                 /*       
    2.                                 过滤特殊字符
    3.                         */       
    4.                         if($r[$key]['form']=='fckeditor' || $r[$key]['form']=='content' || $r[$key]['form']=='copyfrom')
    5.                         {
    6.                                 $data[$key]=safehtml(str_replace(array('<div','</div>','<DIV','</DIV>','<br />','<br>','<BR />','<BR>'),array('<p','</p>','<p','</p>','</p><p>','</p><p>','</p><p>','</p><p>'),$value),4);
    7.                                 if($r[$key]['form']!='content')continue;
    8.                         }
    9.                         else
    10.                         {
    11.                                 $data[$key]=dayucms_htmlspecialchars($value);
    12.                         }

    13.                         /*
    复制代码

    具体的代码就不做解释了,直接把$data[$key]=safehtml(str_replace(array('<div','</div>','<DIV','</DIV>','<br />','<br>','<BR />','<BR>'),array('<p','</p>','<p','</p>','</p><p>','</p><p>','</p><p>','</p><p>'),$value),4);注释掉就可以了,就可以进行保留DIV写入数据库了。




    当初作者在写这个过滤的时候估计是担心用户进行数据录入的时候如果有DIV存在的话,会改变页面的布局,而kindeditor是在后期替换的,也就是在其中就有过滤的模式了,也就是如果还需要过滤一些代码的话,那就直接开启kindeditor的filterMode模式,里面可以针对某些标签进行保留,非常方便。

    该用户从未签到

    1300950553 发表于 2018-2-4 19:39:10 | 显示全部楼层
    摇钱树网吧管理软件作为老牌的管理软件,一直致力于让网吧管理更简洁、更智能。随着软件多年来的不断更新,软件功能更加全面多样化,可满足不同用户的多种需求,让网吧管理更加轻松、上网体验更好、降低经营成本。目前软件已经具备了云服务。自助支付、远程查账等特色功能,欢迎前来咨询

    该用户从未签到

    1300950553 发表于 2018-3-19 18:26:11 | 显示全部楼层
    优尼网咖增值可以提供网吧主页、云计算、桌面图标、弹窗以及移动端等多种形式的增值服务,全面高效。
    我们拥有足够的终端用户群体,确保用行业领先的收益;完善的服务营销机制,让您更加省心,没有后顾之忧,提供24小时服务,可以随时咨询。
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    QQ|小黑屋|手机版|注册|源码论坛 |网站地图

    GMT+8, 2024-5-16 20:54 , Processed in 0.187500 second(s), 25 queries .

    Powered by Discuz!

    © 2001-2023 新源代源码论坛 XYDAI.CN

    快速回复 返回顶部 返回列表