小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

php拆分中文字符串

 弒唸 2016-01-24

分隔字符串,使用“str_split”就可以了好處是連空格也會作為數(shù)組的元素。我之前的例子就是因為前一個字符串包含2個空格,而后一個只有一個。但是輸出的時候看到的顯示都是一樣的。
也可以按照其他分隔符進行分割,如“explode”或者“preg_split”,


php教程 explode() 函數(shù)
php string 函數(shù)
定義和用法
explode() 函數(shù)把字符串分割為數(shù)組。

語法
explode(separator,string,limit)參數(shù) 描述
separator 必需。規(guī)定在哪里分割字符串。
string 必需。要分割的字符串。
limit 可選。規(guī)定所返回的數(shù)組元素的最大數(shù)目。

例子
在本例中,我們將把字符串分割為數(shù)組:

Php代碼  收藏代碼
  1. <?php  
  2.     $str = "hello world. it's a beautiful day.";  
  3.     print_r (explode(" ",$str));  
  4.  ?>  
 


輸出:

Php代碼  收藏代碼
  1. array  
  2.     (  
  3.     [0] => hello  
  4.     [1] => world.  
  5.     [2] => it's  
  6.     [3] => a  
  7.     [4] => beautiful  
  8.     [5] => day.  
  9.     )  
 

str_split 拆分函數(shù)

定義和用法
str_split() 函數(shù)把字符串分割到數(shù)組中。

語法
str_split(string,length)參數(shù) 描述
string 必需。規(guī)定要分割的字符串。
length 可選。規(guī)定每個數(shù)組元素的長度。默認是 1。

說明
如果 length 小于 1,str_split() 函數(shù)將返回 false。

如果 length 大于字符串的長度,整個字符串將作為數(shù)組的唯一元素返回。
例子
例子 1



輸出:

Php代碼  收藏代碼
  1. array  
  2.     (  
  3.     [0] => h  
  4.     [1] => e  
  5.     [2] => l  
  6.     [3] => l  
  7.     [4] => o  
  8.  )  
 


例子 2

Java代碼  收藏代碼
  1. <?php  
  2. print_r(str_split("hello",3));  
  3. ?>  
 




輸出:

Php代碼  收藏代碼
  1. Array ( [0] => hel [1] => lo )   
 



preg_split -- 用正則表達式分割字符串
說明
array preg_split ( string pattern, string subject [, int limit [, int flags]])


返回一個數(shù)組,包含 subject 中沿著與 pattern 匹配的邊界所分割的子串。

如果指定了 limit,則最多返回 limit 個子串,如果 limit 是 -1,則意味著沒有限制,可以用來繼續(xù)指定可選參數(shù) flags。

flags 可以是下列標記的任意組合(用按位或運算符 | 組合):


preg_split_no_empty
如果設(shè)定了本標記,則 preg_split() 只返回非空的成分。

 

以上是一篇我在網(wǎng)上找到的關(guān)于拆分的字符串的文章 ,也是比較全的。今天我在我在做項目的時候,遇到了這樣的一個問題,拆分中英文混合的字符串 。因為中文占有2個字節(jié),當使用str_split函數(shù)時,悲劇的出現(xiàn)了亂碼 。so,在網(wǎng)上找到了一個能夠正確拆分字符串的函數(shù) 。此函是只支持 gb2312編碼 ,其它的編碼的字符串需要先轉(zhuǎn)換編碼 。

 

Php代碼  收藏代碼
  1. function arr_split_zh($tempaddtext){  
  2.    $tempaddtext = iconv("UTF-8", "gb2312", $tempaddtext);  
  3.     $cind = 0;  
  4.     $arr_cont=array();  
  5.   
  6.     for($i=0;$i<strlen($tempaddtext);$i++)  
  7.     {  
  8.         if(strlen(substr($tempaddtext,$cind,1)) > 0){  
  9.             if(ord(substr($tempaddtext,$cind,1)) < 0xA1 ){ //如果為英文則取1個字節(jié)  
  10.                 array_push($arr_cont,substr($tempaddtext,$cind,1));  
  11.                 $cind++;  
  12.             }else{  
  13.                 array_push($arr_cont,substr($tempaddtext,$cind,2));  
  14.                 $cind+=2;  
  15.             }  
  16.         }  
  17.     }  
  18.    foreach ($arr_cont as &$row)  
  19.    {  
  20.     $row=iconv("gb2312","UTF-8",$row);  
  21.    }  
  22.   
  23. return $arr_cont;  
  24.   
  25. }  
 

 

 

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約