近日在做東西時,遇到要把中文字元進行逐字分割,試了很多方法,都不行,後來發現了乙個超簡單的方法:
分割字串很簡單,主要是用到函式preg_match_all。
當處理含有中文的字串時,可以用如下的方法:
<?php
$str = "hi釣魚島是中國的";
preg_match_all("/./u", $str, $arr);
print_r($arr[0]);
//by www.jbxue.com
?>
輸出結果:
array
([0] => h
[1] => i
[2] => 釣
[3] => 魚
[4] => 島
[5] => 是
[6] => 中
[7] => 國
[8] => 的
)說明:模式修飾符u在php5中已完全支援。
例2,php分割中文字串
將字串「愛蓮說」分割為「愛」,「蓮」,「說」單個字。
使用到php函式preg_match_all。
示例:<?php
$str = "愛蓮說";
preg_match_all('/[\x-\x]/u',$str,$string);
dump($string);
//by www.jbxue.com
?>
輸出結果:
array
0=>
array
0 =>string '愛'(length=3)
1 =>string'蓮'(length=3)
2 =>string '說'(length=3)
這時,獲取具體的某個字,即可通過陣列獲取。
有關使用php分割中英文本串的方法,可以參考文章:php分割中英文本串的幾種方法。
原文:
php分割中文字串為陣列的簡單例子
近日在做東西時,遇到要把中文字元進行逐字分割,試了很多方法,都不行,後來發現了乙個超簡單的方法 分割字串很簡單,主要是用到函式preg match all。當處理含有中文的字串時,可以用如下的方法 str hi釣魚島是中國的 preg match all u str,arr print r arr ...
php中文字串翻轉
在utf 8編碼下,在使用strlen 時,乙個中英文本元是佔乙個位元組,而乙個中文字元是佔三個位元組。因此在呼叫strrev函式時,如果字串是純英文,不會出現什麼問題,但是如果字元中含有中文則會出現亂碼。str hello echo strlen str 5 echo strrev str oll...
PHP 中文字串擷取
本文提供兩種方法實現中文字串的擷取 1.使用系統提供的 mb substr 或iconv substr 函式 php.ini 配置檔案中的 mbstring 擴充套件要開啟才能使用 函式說明 string mb substr string str,int start int length null ...