|
dedecms每次新上传图片插入编辑器会自动加p标签,这个会导致网页错位等问题。以下是修改方法。
第一种解决方法:
修改网站根目录\include\FCKeditor\editor\dialog\dede_image.php
找到
//FCK.InsertHtml(inImg);
var newCode = FCK.CreateElement('p');
newCode.innerHTML = inImg;
改成:
FCK.InsertHtml(inImg);
//var newCode = FCK.CreateElement('p');
//newCode.innerHTML = inImg;
找到:
//FCK.InsertHtml(iimghtml);
var newCode = FCK.CreateElement('p');
newCode.innerHTML = iimghtml;
改成:
FCK.InsertHtml(iimghtml);
//var newCode = FCK.CreateElement('p');
//newCode.innerHTML = iimghtml;
这样子就可以把那个该死的p删除掉.
第二种解决方法:
发布文章时自动过滤“div”标签。
修改
后台/article_add.php
在
- $body = AnalyseHtmlBody($body,$description,$litpic,$keywords,'htmltext');
复制代码
之下添
- $body = preg_replace("/<\/(d|D)(i|I)(v|V)>/","",$body);
- $body = preg_replace("/<(d|D)(i|I)(v|V).*?>/","",$body);
复制代码
修改
后台/article_edit.php
在
- $body = AnalyseHtmlBody($body,$description,$litpic,$keywords,'htmltext');
复制代码
之下添加
- $body = preg_replace("/<\/(d|D)(i|I)(v|V)>/","",$body);
- $body = preg_replace("/<(d|D)(i|I)(v|V).*?>/","",$body);
复制代码
这样,在发布时自动过滤掉DIV,dedecms中去掉FCK编辑器插入图片自动加div标签的方法
在FCK编辑器中,目前是用p做为段落,因为目前很多网站都是用p+css布局, p做为网页架构最常用的标签,很明显内容中的p很容易和页面布局标签混淆,内容中一个多余的未关闭的标签就会让整个页面面目全非,所以在内容中就特别需要使用p做为段落,而不是用p。
具体的修改方法如下:
第一步:在fckconfig.js文件里查找
FCKConfig.EnterMode = 'p' ;
修改成
FCKConfig.EnterMode = 'p' ;
第二步:
修改fckeditorcode_ie.js和fckeditorcode_gecko.js文件
查找:
FCKConfig.EnterMode=='p'?'p':'p'
修改成
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标签,当然图片不会贴进去
|
|