PHP str_split 帶中文字符串

 

比如把這個句子拆分成單個字符:

$str = "開水d房abc";

用str_split就不行,要用正則

<?php
/**
* @version $Id: str_split.php 
* @package utf8
* @subpackage strings
*/
function utf8_str_split($str, $split_len = 1)
{
    if (!preg_match('/^[0-9]+$/', $split_len) || $split_len < 1)
        return FALSE;
 
    $len = mb_strlen($str, 'UTF-8');
    if ($len <= $split_len)
        return array($str);
 
    preg_match_all('/.{'.$split_len.'}|[^\x00]{1,'.$split_len.'}$/us', $str, $ar);
 
    return $ar[0];
}
?>

更簡單的一句:

 preg_split('/(?<!^)(?!$)/u', $str );

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章