帝国CMS将正文内容img图片标签里alt值默认设为文章标题

2020-07-25 帝国CMS 161 0

需求:我们在发布内容时,希望内容中的图片都能给alt加上内容,这样对SEO友好,还可能从搜索引擎图片搜索那里带来一些流量,如果人工加,效率低。
问题:正文内容中的图片是和其他文字存在一起,没法用模板标签单独读取出来。
思路:新建一个函数,用于自动替换正文IMG里的ALT内容。
方法:在 e/class/userfun.php 里面增加:

//替换正文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-newstext-imgalt.jpg

本文转自:http://www.dongchuanmin.com/archives/216.html

最后更新于 2025-03-10 10:15:03
ECMS

相关文章

帝国CMS年榜、月榜、周榜、日榜排序的实现方法
帝国CMS模板里面灵动标签怎么调用日期时间
帝国CMS模板中显示标题颜色的标题灵动标签调用
帝国cms灵动标签同时调用头条和推荐
帝国CMS,灵动标签结合PHP代码获取当前栏...
帝国CMS调用某一栏目,指定时间内的所有信息