专注互联网营销推广
服务热线:0577-86997785

织梦DedeCMS删除img图片width和height属性的方法

原创2019-04-04 12:02温州做网站
织梦DedeCMS在文章页中默认添加img图片的style属性,平时使用没有什么问题,一旦前端模板是自适应,就会影响图片在移动端显示,今天教大家织梦DedeCMS删除img图片width和height属性的方法。
打开网站根目录include/ arc.archives.class.php,查找代码:

//设置全局环境变量
$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename'];
@SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['id'],$this->Fields['title'],'archives');

在下面添加:

//去掉img的width和height
$this->Fields['body'] = preg_replace("/style="width:(.*)"/","",$this->Fields['body']);

保存,然后覆盖文件,去后台重新生成文章(静态网站),再查看源代码,我们发现,图片style属性已经被成功删除,移动端打开图片也不会出现变形的问题。
虽然网站优化时建议为图片指定width和height属性,设置了style属性,就可以在页面加载时为图片预留空间。如果没有这些属性,浏览器就无法了解图像的尺寸,也就无法为图像保留合适的空间,因此当图像加载时,页面的布局就会发生变化。但是有了万能的css后,我们可以通过css来指定图片高宽,这样一来,直接出现在html的图片高和宽的style属性就显得很鸡肋了。
代码解释:用replace函数来替换文章的style=""一段为空,但是考虑到有的文章中会出现“style=”字符,不只有img标签中才有,所以传统的正则表达式(.*)会把所有的style属性都去掉,直接定位到“width:”这里,基本就不会出错,而通配符(.*)则可以正确的匹配后面的内容,这样一来就完美实现了DedeCMS文章页去img图片width和height属性。
服务热线:0577-86997785 移动电话:131 5770 6995 公司地址:浙江省温州经济技术开发区滨海园区海汇中心3幢802

版权所有 © 2010-2019 温州雷特加网络科技有限公司

在线客服