字符宽度(Character Width)指从字符的最左黑网点到最右黑网点的值,一般只用于位映象字库,它指定了按网点计算的物理页面坐标系中字符的宽度。
php获取字符串宽度。
/**
* 获取字符串宽度,半角字符1=1,非半角角字符1=2
* @param string $str
* @return float|int
*/
function strwidth($str) {
$charcount = mb_strlen($str, 'utf-8');
$pattern = '/[[:print:][:space:]]/u';
$halfcount = 0;
if (preg_match_all($pattern, $str, $_match)) {
$halfcount = sizeof($_match[0]);
}
return $halfcount + ($charcount - $halfcount) * 2;
}