dedecms文章页去img图片width和height属性

2017/09/0411:57:53dedecms文章页去img图片width和height属性已关闭评论 736

在文章页面出现图片溢出的错误,需要去除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');

在其下面填写:

//去掉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属性。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin