-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