DEDE文章内容里的图片扭曲变形怎么办?去掉自带width标签!
dede文章内容里的图片在电脑或者手机版浏览的时候会出现变形,查看源代码就会发现因为被style CSS样式限制了宽度和高度,既然知道原因了。那现在我们就去掉这个标签。
打开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’);
$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']);
保存,重新生成文章(静态网站),再查看源代码,我们会发现,自带的图片width和height属性 被成功的去掉了。
代码注释:用replace函数来替换文章的style=””一段为空,但是有的技术教程文章中会出现“style=”字符,不只有img标签中才有,所以传统的正则表达式(.*)会把所有的style属性都去掉,这里更细分一下,直接精确到“width:”这里,基本就不会出错,而通配符(.*)则可以正确的匹配后面的内容,这样一来就完美实现了DedeCMS文章页去img图片width和height属性,感谢余斗的博客。