您好,登錄后才能下訂單哦!
使用DedeCMS后臺發布文章的時候,在上傳圖片后,余斗發現生成文章后Dede會自動給這個圖片加上width和height屬性,如果這里不指定,那么值就為圖片的原高寬。
雖然建議為圖像指定 height 和 width 屬性,這也是一個好習慣,因為設置了這些屬性,就可以在頁面加載時為圖像預留空間。如果沒有這些屬性,瀏覽器就無法了解圖像的尺寸,也就無法為圖像保留合適的空間,因此當圖像加載時,頁面的布局就會發生變化。但是有了萬能的css后,我們可以通過css來指定圖片高寬,這樣一來,直接出現在html的圖片高和寬的style屬性就顯得很雞肋了。
余斗今天就教大家如何去掉DedeCMS自動生成的這個煩人的圖片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']);
保存,重新生成文章(靜態網站),再查看源代碼,我們會發現,自帶的圖片width和height屬性 被成功的去掉了。
代碼注釋:用replace函數來替換文章的一段為空,但是考慮到余斗的博客中有的技術教程文章中會出現“style=”字符,不只有img標簽中才有,所以傳統的正則表達式(.*)會把所有的style屬性都去掉,這里余斗更細分一下,直接精確到“width:”這里,基本就不會出錯,而通配符(.*)則可以正確的匹配后面的內容,這樣一來就完美實現了DedeCMS文章頁去img圖片width和height屬性。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。