首页 > CMS > 帝国Empire > 正文

帝国cms发布信息时给正文IMG图片加的ALT标题

2024-08-28 12:24:37
字体:
来源:转载
供稿:网友

 在 e/class/userfun.php 里面增加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//替换正文IMG里的ALT内容
function user_imgalt($mid,$f,$isadd,$isq,$value,$cs){
    $title=$_POST['title'];
    $htmls=$value;
    $pattern "/<img[^>]+>/"
    preg_match_all($pattern$htmls$matches); 
    for ($i=0; $i<=count($matches[0]); $i++) {
      preg_match_all("/alt=/".+?/"/",$matches[0][$i],$altimg); 
        $t_alt=count($altimg[0]);
        if($t_alt==0){
            $htmls=str_replace("<img","<img alt=/"{$title}/"",$htmls);
        }
    }   
        return $htmls;
}

然后在后台系统设置-数据表模型-字段管理里面 编辑 newstext字段

增加如下

Ecms发布信息时替换正文IMG图片标签里的ALT内容

即可,图片上的alt就自动被替换成了文章标题 适合seo!

 

下面是改进代码 防止多个alt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//替换正文IMG里的ALT内容
function user_imgalt($mid,$f,$isadd,$isq,$value,$cs){
    $title=$_POST['title'];
    $htmls=$value;
    $pattern = "/<img[^>]+>/"; 
    preg_match_all($pattern, $htmls, $matches); 
    for ($i=0; $i<=count($matches[0]); $i++) {
      preg_match_all("/alt=/".+?/"/",$matches[0][$i],$altimg); 
        $t_alt=count($altimg[0]);
        if($t_alt==0){
            //$htmls=str_replace("<img","<img alt=/"{$title}/"",$htmls);
            $htmls=str_replace('/<img.+?src=/"(.+?)/".+?>/','<img src="/1" alt="{$title}">',$htmls);
        }
    }   
        return $htmls;
}

 

 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表