zblog文章页自动添加图片alt属性(文章标题作为alt值)

2020/05/1523:02:00 发表评论 136

在网页前台鼠标右键“复制图片”,粘贴在编辑器的代码是有乱码的,还得自己手动一个个更改文章图片的ALT属性文字,显得很麻烦,于是想到让系统自动添加文字。

<img src="https://www.x.com/xx/xx/x/xx.jpg" alt="zblog文章页自动添加图片alt属性(文章标题作为alt值)" alt="广安龙台高中40周年同学聚会影集-同学群里古风纪念相册怎么制作?"/>

改造吧。

方法一

主题的include.php文件

function zbpNana_tupian_alt(&$template){
    global $zbp;
    $article = $template->GetTags('article');
    $pattern = "/<img(.*?)src=('|\")([^>]*).(bmp|gif|jpeg|jpg|png|swf)('|\")(.*?)>/i";
    $replacement = '<img alt="'.$article->Title.'" src=$2$3.$4$5/>';
    $content = preg_replace($pattern, $replacement, $article->Content);
    $article->Content = $content;
    $template->SetTags('article', $article);
}

强制文章页所有图片 alt 属性为文章标题

function ActivePlugin_blog() {
global $zbp;
下面添加代码
Add_Filter_Plugin('Filter_Plugin_ViewPost_Template','zbpNana_tupian_alt');

方法二

为文章页图片添加 alt 和 title 属性

添加代码:

function zbpNana_tupian_alt( &$template ){
        global $zbp,$altURL;
        $article = $template->GetTags('article');
        $imgtitle = $article->Title;
        $imgUrl = "<img\s[^>]*src=(\"??)([^\" >]*?)\\1[^>]*>";
        if(preg_match_all("/$imgUrl/siU",$article->Content,$matches,PREG_SET_ORDER)){
                if( !emptyempty($matches) ){
                        for ($i=0; $i < count($matches); $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);
                        }
                }
        }
}

Add_Filter_Plugin('Filter_Plugin_ViewPost_Template','zbpNana_tupian_alt');

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

后台点击“清空缓存并重新编译模板”,可以看到效果。

 

历史上的今天:

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: