DedeCMS为文章图片自动添加ALT属性为标题
网站建设 2022-07-27 08:13www.1681989.com免费网站
织梦模板默认的文章图片属性是要自己手动添加的,否则为空,这对网编来说太过于麻烦,而seo又要求图片alt属性一定要全,文章图片的alt属性一般跟标题一样。 所以推火专家就想办法实现了自动添加图片的alt属性,属性内容为文章标题,具体方法为 修改文件Include/ arc.archives.class.php 模板标签 {dede:field.body/} 如果是其它字段,可以修改 $this-Fields[ body ] 效率说明使用了正则处理,会降低一些生成速度,如果数据量小,则可以忽略。 修改 […]
织梦模板默认的文章图片属性是要自己手动添加的,否则为空,这对网编来说太过于麻烦,而seo又要求图片alt属性一定要全,文章图片的alt属性一般跟标题一样。
所以推火专家就想办法实现了自动添加图片的alt属性,属性内容为文章标题,具体方法为
修改文件Include/ arc.archives.class.php
模板标签
{dede:field.body/}
如果是其它字段,可以修改
$this->Fields['body']
效率说明使用了正则处理,会降低一些生成速度,如果数据量小,则可以忽略。
修改方法
查找打开clude/ arc.archives.class.php
查找
//设置全局环境变量
$this->Fields['typename'] = $this->TypeLk->TypeInfos['typename'];
SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['aid'],$this->Fields['title'],'archives');
$this->Fields['typename'] = $this->TypeLk->TypeInfos['typename'];
SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['aid'],$this->Fields['title'],'archives');
在其代码下面填写
//替换图片Alt为文档标题
$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 alt='".$this->Fields['title']."' ",$this->Fields['body']);
$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 alt='".$this->Fields['title']."' ",$this->Fields['body']);
保存,然后重新生成文章,即可实现文章中图片ALT属性自动以文章标题添加的功能。