帝国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属性为信息标题了!