帝国CMS如何自动替换正文图片img标签里的alt,title为标题


avatar
pcwnas 2023-04-25 166

原文来自:https://liye5.com/

帝国CMS如何替换img标签的alt和title为标题?

网上的方法基本会出现两次alt标签,对SEO不利。

ECMS站长之家正文图片alt标签和title标签效果图

下面分享自用的方法:

1)增加自定义函数

在 e/class/userfun.php 里面增加下列函数

//修改正文img的alt,title
function user_AlterEditer($mid,$f,$isadd,$isq,$value,$cs){
    $title=str_replace('"','',$_POST['title']);
    $zhengze="/<img(.*?)img.zhann.cn(.*?) (.*?)>/i";
    $value=preg_replace($zhengze,"<img src="https://img.zhann.cn\2>",$value);
    $imgUrl = "<imgs[^>]*src=("??)([^" >]*?)\1[^>]*>";
    if(preg_match_all("/$imgUrl/siU",$value,$matches,PREG_SET_ORDER)){
        for ($i=0; $i < count($matches); $i++){
          $before = $now = $matches[$i][0];
          $altUrl = 'alt="'.$title.' 第'.($i+1).'张" title="'.$title.' 第'.($i+1).'张" ';
          $now = ltrim($now,'<img ');
          $now = '<img '.$altUrl.$now;
          $value = str_replace($before,$now,$value);
        }
    }
    return $value;
}

注意: 将代码中的img.zhann.cn改成自己的网址,如www.abc.com 将代码中的https://img.zhann.cn改成http://www.abc.com