Dedecms 圖片加上Alt或Title等屬性

字號:


    DEDE_V5.3 實(shí)現(xiàn)給內(nèi)容中的圖片添加標(biāo)題ALt標(biāo)記織夢優(yōu)秀網(wǎng),發(fā)單接單,優(yōu)秀的任務(wù)平臺(tái)!程序版本:V5.3X 修改文件:Include/ arc.archives.class.php 修改方法: 查找以下代碼: Copy code//設(shè)置全局環(huán)境變量 $this->Fields['typename'] = $this->TypeLi
    DEDE_V5.3 實(shí)現(xiàn)給內(nèi)容中的圖片添加標(biāo)題ALt標(biāo)記織夢優(yōu)秀網(wǎng),發(fā)單接單,優(yōu)秀的任務(wù)平臺(tái)!程序版本:V5.3X
    修改文件:Include/ arc.archives.class.php
    修改方法:
    查找以下代碼:
    Copy code//設(shè)置全局環(huán)境變量
    代碼如下:
    $this->Fields['typename'] = $this->TypeLink->TypeInfos['typename'];
    SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['aid'],$this->Fields['title'],'archives');
    在以下添加代碼:
    Copy code//替換圖片Alt為文檔標(biāo)題
    代碼如下:
    $this->Fields['body'] = str_ireplace(array('alt=""','alt=\'\''),'',$this->Fields['body']);
    $this->Fields['body'] = preg_replace("@ [\s]{0,}alt[\s]{0,}=[\"'\s]{0,}[\s\S]{0,}[\"'\s] @isU"," ",$this->Fields['body']);
    $this->Fields['body'] = str_ireplace("<img " ,"<img ",$this->Fields['body']);
    模板標(biāo)簽:{dede:field.body/} ,如果是其它字段,可以修改$this->Fields['body'] 為其它的字段名。
    效率說明:使用了正則處理,會(huì)降低一些生成速度,如果數(shù)據(jù)量小,則可以忽略。
    能加個(gè)類似autoindex就好了 不然一個(gè)頁面里有重復(fù)會(huì)有可能判為XXXX
    因?yàn)橛泻枚嗯笥芽赡苷谑褂胐edecms 5.1的版本,但經(jīng)測試,需要再修改一次即可解決圖片地址在包含 &nbsp;&nbsp; 空格,很是郁悶,如果有好的解決方法,可以分享下啊,回復(fù)即可。
    下面是 dedecms 5.1 的修改方法:
    因?yàn)橛猩僭S的問題,所以我們這里只給出 再添加跟修改時(shí)添加 圖片的alt屬性
    文章添加文件位于:/dede/action/article_add_action.php (如果你修改的默認(rèn)管理地址 替換 dede即可)
    查找:
    代碼如下:
    </strong>
    $body = addslashes($body);
    替換為:
    代碼如下:
    $body = str_ireplace(array('alt=""','alt=\'\''),'',$body);
    $body = preg_replace("@ [\s]{0,}alt[\s]{0,}=[\"'\s]{0,}[\s\S]{0,}[\"'\s] @isU"," ",$body);
    $body = str_ireplace("<img " ,"<img ",$body);
    $body = addslashes($body);
    其實(shí)就是在轉(zhuǎn)義字符前面添加正則替換,參考了上面 5.3的正則
    文章修改頁面修改原理相同:/dede/action/article_edit_action.php (如果你修改的默認(rèn)管理地址 替換 dede即可)
    查找:
    代碼如下:
    $body = addslashes($body);
    如果找到就替換為添加相同的代碼。
    如果沒有找到就查找:
    代碼如下:
    //更新數(shù)據(jù)庫的SQL語句
    替換為:
    代碼如下:
    $body = str_ireplace(array('alt=""','alt=\'\''),'',$body);
    $body = preg_replace("@ [\s]{0,}alt[\s]{0,}=[\"'\s]{0,}[\s\S]{0,}[\"'\s] @isU"," ",$body);
    $body = str_ireplace("<img " ,"<img ",$body);
    //更新數(shù)據(jù)庫的SQL語句
    因?yàn)槲覀冃薷牧薲edecms的大量代碼,所以有些地方并不一樣,以自己的代碼為準(zhǔn),注意修改前備份。