在文章页面出现图片溢出的错误,需要去除IMG标签的宽高值,设置图片宽度为,100%。
在模板页面调用:
<div class="blog-content"><div class="blog-content"> {dede:field.body/} </div>,这样在源码里面的IMG标签默认是有width和height的值,图片太大,会出现图片挤出正文DIV或图片溢出的错误。需要将默认的宽、高的值去掉,设置图片的宽度为100%就好。
如何去掉DedeCMS自动生成的这个烦人的图片width和height属性,在前面的教程中,介绍过DedeCMS为文章图片自动添加ALT属性为标题,与这篇文章的原理相同,我们同样要进行替换:
打开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']);
$this->Fields['body'] = preg_replace("/style=\"width\:(.*)\"/","",$this->Fields['body']);
保存,重新生成文章(静态网站),再查看源代码,我们会发现,自带的图片width和height属性 被成功的去掉了。
说明:用replace函数来替换文章的style=""一段为空,但是考虑到有的技术教程文章中会出现“style=”字符,不只有img标签中才有,所以传统的正则表达式(.*)会把所有的style属性都去掉,这里余斗更细分一下,直接精确到“width:”这里,基本就不会出错,而通配符(.*)则可以正确的匹配后面的内容,这样一来就完美实现了DedeCMS文章页去img图片width和height属性。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫