[求助]如何防止图片多个alt和title?请会的指点!谢谢

多个 指点 如何防止 谢谢

您的位置:仿站网 > 问答
想给图片加入ALT和title,按如下代码可以实现,但是,如果再次刷新,或是更新图片已有ALT和title的文章,就会造成重复添加alt和title,如何避免循环重复添加,刷新只替换原有的值?

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);
  preg_match_all("/title=".+?"/",$matches[0][$i],$titleimg);
$t_alt=count($altimg[0]);
if($t_alt==0){
$htmls=str_replace("<img","<img alt="{$title}"",$htmls);
$htmls=str_replace("<img","<img title="{$title}"",$htmls);
}
}   
return $htmls;
}
转载请注明本文地址:[求助]如何防止图片多个alt和title?请会的指点!谢谢 https://mip.ecmsw.cn/ask/266.html
回复列表
1.
4楼发的应该可以,加判断了
2.
原帖由 zhxin 于 2019-09-10 06:36:44 发表
4楼发的应该可以,加判断了

测试过,还是重复增加
3.
你这个是增加信息时,不是刷新时
4.
从新编辑文章在提交就会重复增加了
5.
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("/alt=".+?"/",$matches[0][$i],$altimg);
preg_match("/title=".+?"/",$matches[0][$i],$titleimg);
if(!$altimg)$htmls=str_replace("<img","<img alt="{$title}"",$htmls);
if(!$titleimg)$htmls=str_replace("<img","<img title="{$title}"",$htmls);
}
return $htmls;
}
仿站网专注于帝国CMS仿站及二次开发、模板定制等各种有关帝国CMS程序疑难杂症!
电话 短信 客服 联系