主頁(yè) > 網(wǎng)站建設(shè) > 建站知識(shí) > DedeCMS文章頁(yè)去img圖片width和height屬性

DedeCMS文章頁(yè)去img圖片width和height屬性

POST TIME:2017-11-12 23:41

使用DedeCMS后臺(tái)發(fā)布文章的時(shí)候,在上傳圖片后,余斗發(fā)現(xiàn)生成文章后Dede會(huì)自動(dòng)給這個(gè)圖片加上width和height屬性,如果這里不指定,那么值就為圖片的原高寬。
雖然建議為圖像指定 height 和 width 屬性,這也是一個(gè)好習(xí)慣,因?yàn)樵O(shè)置了這些屬性,就可以在頁(yè)面加載時(shí)為圖像預(yù)留空間。如果沒有這些屬性,瀏覽器就無(wú)法了解圖像的尺寸,也就無(wú)法為圖像保留合適的空間,因此當(dāng)圖像加載時(shí),頁(yè)面的布局就會(huì)發(fā)生變化。但是有了萬(wàn)能的css后,我們可以通過(guò)css來(lái)指定圖片高寬,這樣一來(lái),直接出現(xiàn)在html的圖片高和寬的style屬性就顯得很雞肋了。
余斗今天就教大家如何去掉DedeCMS自動(dòng)生成的這個(gè)煩人的圖片width和height屬性,我們要進(jìn)行替換:
打開include/ arc.archives.class.php,查找代碼:
//設(shè)置全局環(huán)境變量
$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']);
保存,重新生成文章(靜態(tài)網(wǎng)站),再查看源代碼,我們會(huì)發(fā)現(xiàn),自帶的圖片width和height屬性 被成功的去掉了。
代碼注釋:用replace函數(shù)來(lái)替換文章的style=""一段為空,但是考慮到余斗的博客中有的技術(shù)教程文章中會(huì)出現(xiàn)“style=”字符,不只有img標(biāo)簽中才有,所以傳統(tǒng)的正則表達(dá)式(.*)會(huì)把所有的style屬性都去掉,這里余斗更細(xì)分一下,直接精確到“width:”這里,基本就不會(huì)出錯(cuò),而通配符(.*)則可以正確的匹配后面的內(nèi)容,這樣一來(lái)就完美實(shí)現(xiàn)了DedeCMS文章頁(yè)去img圖片width和height屬性。


收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266