找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1485|回复: 0

[分享] 织梦教程:去掉编辑器自动加div的方法即大小字情况

[复制链接]
发表于 2016-7-27 10:33:17 | 显示全部楼层 |阅读模式 来自 中国–河南
dedecms每次新上传图片插入编辑器会自动加p标签,这个会导致网页错位等问题。以下是修改方法。
第一种解决方法:
修改网站根目录\include\FCKeditor\editor\dialog\dede_image.php
找到
  1. //FCK.InsertHtml(inImg);
  2. var newCode = FCK.CreateElement('p');
  3. newCode.innerHTML = inImg;
复制代码
改成:
  1. FCK.InsertHtml(inImg);
  2. //var newCode = FCK.CreateElement('p');
  3. //newCode.innerHTML = inImg;
复制代码
找到:
  1. //FCK.InsertHtml(iimghtml);
  2. var newCode = FCK.CreateElement('p');
  3. newCode.innerHTML = iimghtml;
复制代码
改成:
  1. FCK.InsertHtml(iimghtml);
  2. //var newCode = FCK.CreateElement('p');
  3. //newCode.innerHTML = iimghtml;
复制代码
这样子就可以把那个该死的p删除掉.
第二种解决方法:
发布文章时自动过滤“div”标签。

修改
后台/article_add.php

$body = AnalyseHtmlBody($body,$description,$litpic,$keywords,'htmltext');

之下添
  1. $body = preg_replace("/<\/(d|D)(i|I)(v|V)>/","",$body);
  2. $body = preg_replace("/<(d|D)(i|I)(v|V).*?>/","",$body);
复制代码
修改
后台/article_edit.php
  1. $body = AnalyseHtmlBody($body,$description,$litpic,$keywords,'htmltext');
复制代码
之下添加
  1. $body = preg_replace("/<\/(d|D)(i|I)(v|V)>/","",$body);
  2. $body = preg_replace("/<(d|D)(i|I)(v|V).*?>/","",$body);
复制代码
这样,在发布时自动过滤掉DIV,dedecms中去掉FCK编辑器插入图片自动加div标签的方法


在FCK编辑器中,目前是用p做为段落,因为目前很多网站都是用p+css布局, p做为网页架构最常用的标签,很明显内容中的p很容易和页面布局标签混淆,内容中一个多余的未关闭的标签就会让整个页面面目全非,所以在内容中就特别需要使用p做为段落,而不是用p。
具体的修改方法如下:
第一步:在fckconfig.js文件里查找
  1. FCKConfig.EnterMode = 'p' ;
复制代码
修改成
  1. FCKConfig.EnterMode = 'p' ;
复制代码
第二步:
修改fckeditorcode_ie.js和fckeditorcode_gecko.js文件
查找:
  1. FCKConfig.EnterMode=='p'?'p':'p'
复制代码
修改成
  1. FCKConfig.EnterMode=='p'?'p':'p'
复制代码
即无论如何都不使用p标签,这样就可以了
在官方发布的版本中,第一步已经做了修改,可惜虎头蛇尾,没继续做第二步

发帖子问关于怎么去掉编辑器内自动加p .木人搭理.
搜索了下,有个朋友写的去掉编辑器内垃圾代码的帖子写的不错`

不过去掉了p标签 .本来想居中的图都没办法居中了
根据那朋友的去垃圾代码函数改了下 把p换成p 完美解决有p的毛病,同时不影响图片美观```

主要修改文件 /dede/inc/inc_archives_function*.php (修改前先备份,免得出错`)
查找 本文来自"大文章"
function AnalyseHtmlBody($body,&$description,&$litpic,&$keywords,$dtype='')
{
(www.)
在下面加入
内容来自"大文章"
$body = str_replace("p","p",$body);
echo $str."\n";
(www.)
(www.)

问题描述:
1、从用CTRL+V记事本粘贴进dedecms5.7编辑器的内容会出现很多<p>标记,如何将这样的标记换成<br>呢?
2、每次在word中编辑好文章,然后粘贴到dede的FCK编辑器中发表后,文章的每一段都加上了<p>标签,而我想让它变成<p>标签,请问应该怎么做?
回答:
       很简单哦,你复制后不要直接粘贴,在编辑器有一个记事本样子的按钮,点击那个按钮粘贴,表示粘贴纯文本,它会主动换为p标签,当然图片不会贴进去,呵呵

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-21 21:54 , Processed in 0.042775 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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