这些天在制件
php九宫格日志中最大的难度应该是中文字符在图片定宽的情况下分行,
用过old()这个函数,但是还是没有解决问题!
最后在
德问上打到了答案,同时也解决了
php截取中文字符串乱码问题
[php]
/**
* @desc GD库生成图片中文自动换行
* 这几个变量分别是 字体大小, 角度, 字体名称, 字符串, 预设宽度
* */
public function autowrap($fontsize, $angle, $fontface, $string, $width) {
$content = "";
// 将字符串拆分成一个个单字 保存到数组 letter 中
for ($i=0;$i<mb_strlen($string);$i++) {
$letter[] = mb_substr($string, $i, 1);
}
foreach ($letter as $l) {
$teststr = $content."".$l;
$testbox = imagettfbbox($fontsize, $angle, $fontface, $teststr);
// 判断拼接后的字符串是否超过预设的宽度
if (($testbox[2] > $width) && ($content !== "")) {
$content .= "n";
}
$content .= $l;
}
$content = mb_convert_encoding($content, "html-entities","utf-8" );
return $content;
}
[/php]