-1
我有这样的功能:如何计算包含utf8字符的字符串中的阿拉伯数字与PHP?
function str_split_unicode($str, $l = 0) {
if ($l > 0) {
$ret = array();
$len = mb_strlen($str, "UTF-8");
for ($i = 0; $i < $len; $i += $l) {
$ret[] = mb_substr($str, $i, $l, "UTF-8");
}
return $ret;
}
return preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY);
}
当我执行这样的:
$arr = str_split_unicode('你好,我将于2014年11月11日变成霸王龙,这非常的好看呢!一二三四五六七八九!', 21);
echo '<pre>';print_r($arr);
结果是:
Array
(
[0] => 你好,我将于2014年11月11日变成霸王
[1] => 龙,这非常的好看呢!一二三四五六七八九!
)
这不是我想要的。由于1的阿拉伯数字为1,所以我希望将2个阿拉伯数字计为1,我怎么能做到这一点?
如果这是实现统一的块布局,反正这是错误的。它最终取决于用于呈现数字的字体;即使每个汉字字符使用2个数字,仍然不能保证它们会很好地排列。 – deceze 2014-12-06 10:15:40