PHP按字符串长度分割成数组,支持中文
/*** 将unicode字符串按传入长度分割成数组
* @paramstring$str 传入字符串
* @paraminteger $l 字符串长度
* @return mixed 数组或false
*/
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);
}
<?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);
}
?>
$s = "还未如愿sss见gfg者不rtret不朽"; // Mild milk
print_r(str_split($s, 5));
print_r(str_split_unicode($s, 5));
//输出
//Array ( => 还�� => �如� => ��sss => 见gf => g者� => ��rtr => et不 => 朽 )
//Array ( => 还未如愿s => ss见gf => g者不rt => ret不朽 )
页:
[1]