怎么将中文字符串分割成单个字符

WBOY
發布: 2016-06-13 13:29:27
原創
1125 人瀏覽過

【求助】 如何将中文字符串分割成单个字符

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
 $county="大中华区";
 
 echo "<font color="red">".$ci=iconv_strlen($county,"UTF-8")."</font>";
         for($j=0;$j
登入後複製


------解决方案--------------------
PHP code

<?php /****************************
 * subCNchar() 截取汉字 *
 * [$str]     [要截取的字符串]
 * [$start]   [截取的起始位置]
 * [$length]  [要截取的长度]
 * [$charset] [字符串编码]
 ****************************/
function subCNchar($str, $start = 0, $length, $charset = "utf-8") {
    if (strlen($str) <= $length)
        return $str;

    $re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
    $re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
    $re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
    $re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
    preg_match_all($re[$charset], $str, $match);

    $slice = join("", array_slice($match[0], $start, $length));

    return $slice;
}
$county="大中华区";
$res=subCNchar($county,0,1);
echo $res;
#大 
?>
<br><font color="#e78608">------解决方案--------------------</font><br>
登入後複製
PHP code
大
中
华
区
[User:root Time:19:21:36 Path:/home/liangdong/php]$ cat mb.php 
<?php /* file-encoding : utf-8*/
/* export LANG=zh_CN.utf-8*/

$str = "大中华区";
$len = mb_strlen($str, "utf-8");
for ($i = 0; $i != $len; ++ $i) {
        $letter = mb_substr($str, $i, 1, "utf-8");
        echo $letter . PHP_EOL;
}
?>
<br><font color="#e78608">------解决方案--------------------</font><br>
登入後複製
PHP code


 $county="大中华区";
$array=str_split($county,2);
<br><font color="#e78608">------解决方案--------------------</font><br>
登入後複製
探讨

PHP code


$county="大中华区";
$array=str_split($county,2);




array(4) {
[0] =>
string(2) "大"
[1] =>
string(2) "中"
[2] =>
string(2) "华"
[3] =>
string(2) "区"
}
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板