各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > dedecms

织梦图片自动添加ALT属性

管理员 2014-12-26
dedecms
97
      织梦本身没有批量添加或自动替换图片alt描述的功能,而使用织梦建站的朋友都有很多采集来的文章,大部分图片都没有alt属性,非常不利于SEO优化,手工添加又太费时费力,怎么办呢?

      下面以织梦5.7为例介绍下怎么给你网站所有文章里的图片自动添加ALT属性,其他版本应该也可以,网上这一类的教程很多,网友在5.3/5.5版测试通过,5.6没试过,本文教程在织梦最新版5.7测试通过:

织梦5.7版自动给图片添加alt属性具体解决方法:
一. 找到网站Include目录下的arc.archives.class.php 文件并打开
  (模板标签:{dede:field.body/} ,如果是其它字段,可以修改$this->Fields['body'] 为其它的字段名。)

二. 用组合键 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,}[sS]{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=”新手如何推广网站_lazybirdfly.com” ,这里的 _lazybirdfly.com 可以用你网站的主推关键词或网址来替换。
 <img alt='"".$this->Fields['title']."_lazybirdfly.Com'"
   这里是alt属性的替换规则,默认是替换为文章的标题,稍微转换下思路,其实也可以用tag标签或别的文章属性来代替。
 
  四. 由于使用了正则处理,会降低一些生成速度,如果数据量小,则可以忽略。

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关推荐

扫码关注

qrcode

QQ交谈

回顶部