问题:
升级后添加文章好,点击发布就变成空白了,修改文章又是OK的。解决思路
起初怀疑是我的数据库转换有问题,因为我的是从gbk转换成utf8的。又怀疑是模板问题,或是程序问题。
以上纯属误区
正确的思路:调出报错信息,比如:
1,宝塔的网站日志-错误日志
2,网站目录
e/congfig/congfig.php中$ecms_config['sets']['webdebug']=1; //是否显示PHP错误提示(0为不显示,1为显示)
$ecms_config['db']['showerror']=1; //显示SQL错误提示(0为不显示,1为显示)
解决办法:
在e/class/userfun.php,在文件末尾(?> 标签之前)添加以下代码:function user_imgalt($mid, $f, $isadd, $isq, $value, $cs) {
$title = $_POST['title']; // 获取文章标题
$htmls = $value; // 获取文章内容(含HTML)
// 匹配所有 <img> 标签
$pattern = '/<img[^>]+>/';
preg_match_all($pattern, $htmls, $matches);
for ($i = 0; $i < count($matches[0]); $i++) {
// 匹配 alt 属性
preg_match_all('/alt=['"](.+?)['"]/i', $matches[0][$i], $altimg);
// 匹配 title 属性
preg_match_all('/title=['"](.+?)['"]/i', $matches[0][$i], $titleimg);
// 判断是否已有 alt 属性
$t_alt = count($altimg[0]);
if ($t_alt == 0) {
// 如果没有 alt,则添加
$htmls = str_replace($matches[0][$i], $matches[0][$i] . ' alt="' . $title . '"', $htmls);
}
// 判断是否已有 title 属性
$t_title = count($titleimg[0]);
if ($t_title == 0) {
// 如果没有 title,则添加
$htmls = str_replace($matches[0][$i], $matches[0][$i] . ' title="' . $title . '"', $htmls);
}
}
return $htmls; // 返回处理后的内容
}