其实网上有很多为dedecms内容中的图片添加alt属性的方法,但是有些不是很完善,也不是很完美,有些缺点,就是每次并不会真正修改body里的内容,也就是数据库里保存的并没有改变,只是在生成html之前被修改,所以alt加标题效果只在html页面上被表达出来了。不过想做到真正修改内容(数据库内容)也是有办法,我在这里重新总结一下完美解决这个问题的方法。
此方法的缺点:当内容中含有类似图片代码img的,可能会被当做图片被修改内容。而且升级的时候如果涉及相关文件的话,则需要在升级以后重新修改。
适用版本:DEDECMS V5.3以上版本(之前版本没试过,不过应该也可以)
修改文件:dede/inc/inc_archives_functions.php
找到“//图集里大图的小图”,在其上面加入如下代码(位置并不需固定,其他地方也是可以):
//替换图片Alt为文档标题
$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 alt='".$title."' ",$body);
如果你在实用的过程中遇到任何问题,请给我留言,我会尽快解答。