chaihongjun.me

DEDECMS用文档标题自动给图片添加ALT

一. 找到网站Include目录下的arc.archives.class.php 文件并打开

二. 用组合键 Ctrl+F 查找下面的这段代码

//设置全局环境变量  
$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename'];  
SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['aid'],$this->Fields['title'],'archives');

三. 在以上代码下面添加以下代码即可

//替换图片Alt为文档标题  
$this->Fields['body'] = str_ireplace(array('altalt=""','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']);


扩展:

<img alt='".$this->Fields['title']."'

如果文章标题是 “新手如何推广网站” 则生成后的文章内图片的img属性就是 ,我将其改为了下面的这段代码,使其实现图片ALT属性样式为 alt=”新手如何推广网站_baidu.com” ,这里的 _baidu.com 可以用你网站的主推关键词或网址来替换。

<img alt=\"".$this->Fields['title']."_baidu.com\"


(模板标签:{dede:field.body/} ,如果是其它字段,可以修改$this->Fields[‘body’] 为其它的字段名。)

知识共享许可协议本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。作者:柴宏俊»