帝国CMS增加信息时内容图片的alt和title属性自动动替换为标题
帝国CMS在添加信息时,内容包含HTML代码,其中图片标签<img>有alt和title属性。我们需要在信息添加的过程中,通过程序来查找这些图片标签,并将alt和title属性的值替换为信息标题。
可以通过在帝国CMS的信息添加处理代码中添加自定义函数来实现这个功能。
操作方法如下:
1.把下面的代码放到/e/class/userfun.php (放到最后?>的前面)
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;
}
2.在模型里正文字段一般是newstext(也可以是其它字段),在字段处理函数文本框填上user_imgalt 如下图:
3.发布信息的时候就可以自动替换图片alt和title属性为信息标题了!