帝国CMS编辑器上传图片取消宽高的方法,内容模板里过滤掉图片尺寸
孤峰
孤峰家
2023-06-16
59人阅读
帝国cms默认上传图片时会自动添加上图片的width和height样式,导致图片在手机上没法自适应,要么图片变形,要么撑破界面。要解决这个问题,可以试试下面这几个方法:
在内容页模板里过滤
echo $xstyle; ?> 把内容页的[!--newstext--]字段替换成上面的代码。它的原理是通过正则表达式把正文里面所有图片后面的style样式全部替换掉。理论上代码没问题,但奇怪的是,我的站不能用,刷新内容页时报错。网站后台是帝国7.5,PHP版本7.3.4。我通过正则表达式工具测试了,上面代码匹配没问题,但我刷新就报错。较后只能修改了一些。把正则表达式那句改成:
$xstyle=preg_replace('/" style=.+?/','',$xstyle);
实现效果只是把style=几个字符替换了,后面的width和height还在,但已经不影响图片自适应了。
直接在添加图片时过滤
上传图片插入文章时,系统自动添加上宽和高,这里手动删除。每次插入图片都操作一下,对于图片不多的网站,问题不大。
修改网站的CSS样式(未测试)
自己网站的CSS样式文件中,把正文图片的宽高设置为以下代码:
img {**x-width: 560px;width:expression(this.width > 560 ? "560px":this.width);
/*如果图片大小超过450则自动按比例缩小到450*/
vertical-align:bottom;border:none;
/*上半句是图片下沉,后面是无边框。*/
}
后台文件去除宽高(我试了,没成功,可能是我系统环境的原因)
通过直接修改帝国cms后台文件。考虑到帝国使用后台以及前台的投稿,需要同时找到以下文件进行修改:
/e/admin/ecmseditor/infoeditor/plugins/i**ge/dialogs/i**ge.js【后台修改路径】 /e/data/ecmseditor/infoeditor/plugins/i**ge/dialogs/i**ge.js【前台修改路径】
打开上面路径的文件,搜索下面的代码
this.i**geElement.getAttribute("style") || this.i**geElement.removeAttribute("style");
修改为以下代码
this.i**geElement.setAttribute("style")&&this.i**geElement.removeAttribute("style");
以上就是帝国cms内容模板信息内容里过滤掉图片样式的方法。大家可以都试一试。如果有更好的方法,欢迎告诉我们。
很赞哦! ()
转载:感谢您阅览,转载请注明文章出处“来源从小爱孤峰知识网:一个分享知识和生活随笔记录的知识小站”。
链接:帝国CMS编辑器上传图片取消宽高的方法,内容模板里过滤掉图片尺寸http://www.gufeng7.com/diguocms/423.html
联系:如果侵犯了你的权益请来信告知我们删除。邮箱:119882116@qq.com