php 给图片加属性,Z-blog PHP动添加图片alt属性的方法

WordPress 很多主题都已经把自动添加图片 alt 属性当做标配来使用,但是Z-blogPHP 很多主题都没有这个功能,只能另行安装一款插件来代替,所以今天就跟大家说一说Z-blog PHP动添加图片alt属性的方法。我们这里介绍强制文章所有图片为文章标题和自动为文章图片添加 alt 和 title 属性两种解决方法。

这里的代码举例度是以陈德馨博客的 ChenDeXin 主题为例进行说明,按本文折腾时请自行将代码中的 ChenDeXin 修改为自己主题名称即可。

解决方法一:强制文章页所有图片 alt 属性为文章标题

1、将以下代码添加到所使用主题的 include.php 文件中,function ChenDeXin_tupian_altqz(&$template){

global $zbp;

$article = $template->GetTags('article');

    $pattern = "/]*).(bmp|gif|jpeg|jpg|png|swf)('|\")(.*?)>/i";

    $replacement = 'Title.'" src=$2$3.$4$5/>';

$content = preg_replace($pattern, $replacement, $article->Content);

$article->Content = $content;

$template->SetTags('article', $article);

}

说明:这个代码来自@唐朝,代码只实现了强制替换图片的 alt 属性,可以自行修改第5行的代码,让其实现强制替换图片的 alt 和 title 属性。

2、在所使用主题的 include.php 文件中,找到以下代码function ActivePlugin_ChenDeXin() {

global $zbp;

在它下方添加以下代码Add_Filter_Plugin('Filter_Plugin_ViewPost_Template','ChenDeXin_tupian_altqz');

3、保存更新好 include.php 文件后,登录 zblogPHP 站点后台点击『清空缓存并重新编译模板』后,即可看到文章页的图片 alt 属性都变成文章标题了。

解决方法二:智能为文章页图片添加 alt 和 title 属性

1、将以下代码添加到所使用主题的 include.php 文件中,function ChenDeXin_tupian_alt( &$template ){

global $zbp,$altURL;

$article = $template->GetTags('article');

$imgtitle = $article->Title;

        $imgUrl = "]*src=(\"??)([^\" >]*?)\\1[^>]*>";

if(preg_match_all("/$imgUrl/siU",$article->Content,$matches,PREG_SET_ORDER)){

if( !emptyempty($matches) ){

for ($i=0; $i 

$tag = $url = $matches[$i][0];

$j=$i+1;

$altURL = ' alt="'.$imgtitle.'第'.$j.'张-'.$zbp->name.'" title="'.$imgtitle.'第'.$j.'张-'.$zbp->name.'" ';

$url = rtrim($url,'>');

$url .= $altURL.'>';

$content = str_replace($tag,$url,$article->Content);

$article->Content = $content;

$template->SetTags('article', $article);

}

}

}

}

2、在所使用主题的 include.php 文件中,找到以下代码function ActivePlugin_ChenDeXin() {

global $zbp;

在它下方添加以下代码Add_Filter_Plugin('Filter_Plugin_ViewPost_Template','ChenDeXin_tupian_alt');

3、保存更新好 include.php 文件后,登录 zblogPHP 站点后台点击『清空缓存并重新编译模板』后,即可看到文章页的图片都存在 alt 和 title 属性。这个功能不会强制替换图片的 alt 和 title 属性,而是图片缺什么属性就自动添加什么属性,添加的内容就是文章标题第几张-站点名称。

比如某张图片使用的时候已经添加了 alt 和 title 属性,就不会再为该图片添加 alt 和 title 属性;如果某张图片只有 alt 属性,那么就会自动为它补上 title 属性;如果某张图片只有 title 属性,就会自动为它补上 alt 属性。

总结

以上两种做法只能选择一种,要么选择智能添加 alt 和 title 属性,要么选择强制性替换图片 alt 属性。至于哪一种方法比较好,这个就要看个人选择了。如果你是主题开发者,其实可以集成这种方法到主题中,然后让用户自行选择启用哪一种功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值