帝国cms发布信息时给正文IMG图片加的ALT标题
2018-06-23 站长 站长日志
在 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字段
增加如下

即可,图片上的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;
}
|
