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

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

下面分享开拓族自用的方法:

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.1cn.cc(.*?) (.*?)>/i";
    $value=preg_replace($zhengze,"<img src=\"https://img.1cn.cc\\2>",$value);
    $imgUrl = "<img\s[^>]*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.1cn.cc改成自己的网址,如www.abc.com
将代码中的https://img.1cn.cc改成http://www.abc.com


2)设置函数执行时间

位置:后台>系统设置>数据表与系统模型>管理数据表,点击管理字段

帝国CMS替换正文img图片标签里的alt,title为标题 第1张

然后点击字段newstext后面的“修改”。

在“后台增加信息处理函数”和“后台修改信息处理函数”后添加user_AlterEditer,如图:

帝国CMS替换正文img图片标签里的alt,title为标题 第2张

此教程分享完毕。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。