• 微信号
  • 微信号
您当前的位置:首页 > 学海无涯 > 帝国CMS>帝国CMS编辑器上传图片取消宽高的方法,内容模板里过滤掉图片尺寸

帝国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

标签: