php分割中文字串為陣列的簡單例子

2021-09-02 23:57:45 字數 963 閱讀 1603

近日在做東西時,遇到要把中文字元進行逐字分割,試了很多方法,都不行,後來發現了乙個超簡單的方法:

分割字串很簡單,主要是用到函式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 ...