首页 开发编程 正文

php怎么分割中文字符串(php处理字符串)

php    02    function ccStrLen($str) #计算中英文混合a href="/"target="_blank" class="infotextkey"字符串/a的长度    03    {    04    $ccLen=0?    05    $ascLen=strlen($str);    07   ...

今天给各位分享php怎么分割中文字符串的知识,其中也会对php处理字符串进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录:

php语言中字符串分割用什么函数?

“php分割字符串的函数有explode()和str_split() explode()”【摘要】

php语言中字符串分割用什么函数?【提问】

“php分割字符串的函数有explode()和str_split() explode()”【回答】

explode() 函数使用一个字符串分割另一个字符串,并返回由字符串组成的数组。【回答】

php分割中英文字符串的几种方

对一段文字按照字数进行分割,因为文字中可能是中英文混合的,而php函数strlen只能计算出字串的字节数,于是自己实现了几个函数,分享下。

例1,计算字符总长度。

01    ?php    

02    function ccStrLen($str) #计算中英文混合a href="/" class="infotextkey"字符串/a的长度    

03    {    

04    $ccLen=0;    

05    $ascLen=strlen($str);    

06    $ind=0;    

07    $hasCC=ereg(”[xA1-xFE]“,$str); #判断是否有汉字    

08    $hasAsc=ereg(”[x01-xA0]“,$str); #判断是否有ASCII字符    

09    if($hasCC  !$hasAsc) #只有汉字的情况    

10    return strlen($str)/2;    

11    if(!$hasCC  $hasAsc) #只有Ascii字符的情况    

12    return strlen($str);    

13    for($ind=0;$ind$ascLen;$ind++)    

14    {    

15    if(ord(substr($str,$ind,1))0xa0)    

16    {    

17    $ccLen++;    

18    $ind++;    

19    }    

20    else    

21    {    

22    $ccLen++;    

23    }    

24    }    

25    return $ccLen;    

26    }    

27    ?    

例2,从左侧截取字符串。

01    ?php    

02    function ccStrLeft($str,$len) #从左边截取中英文混合字符串    

03    {    

04    $ascLen=strlen($str); if($ascLen=$len) return $str;    

05    $hasCC=ereg(”[xA1-xFE]“,$str); #同上    

06    $hasAsc=ereg(”[x01-xA0]“,$str);    

07    if(!$hasCC) return substr($str,0,$len);    

08    if(!$hasAsc)    

09    if($len  0×01) #如果长度是奇数    

10    return substr($str,0,$len+$len-2);    

11    else    

12    return substr($str,0,$len+$len);    

13    $cind=0;$flag=0;$reallen=0;//实际取字节长    

14    while($cind$ascLen  $reallen$len)    

15    { //by     

16    if(ord(substr($str,$cind,1))0xA1){ //如果该字节为英文 则加一    

17    $cind++;    

18    }else{//否则 加2个字节    

19    $cind+=2;    

20    }    

21    $reallen++;    

22    }    

23    return substr($str,0,$cind);    

24    }    

25    ?    

例3,把给定文字,按切割数量存入数组(适合短篇文字,长文章可没分隔一部分就直接处理一次)

view sourceprint?

01    ?php    

02    function SplitContent($content,$smslen){    

03    $str_tmp=$content;    

04    $arr_cont=array();    

05    $len_tmp=0;    

06    $i=0;//分割绝对位置    

07    while (strlen($str_tmp)0){    

08    $str_tmp=ccStrLeft($str_tmp,$smslen);    

09    array_push($arr_cont,$str_tmp);    

10    $i+=strlen($str_tmp);    

11    $str_tmp=substr($content,$i,strlen($content));    

12    }    

13    return $arr_cont;    

14    } //by     

15    ?    

测试:

1    ?php    

2    $str=’a计算中英文混合1234字符串的长度abcd’;    

3    echo $str.’的长度为:’.ccStrLen($str);    

4    echo ‘br’;    

5    $smslen=3;//截取长度    

6    print_r(SplitContent($str,$smslen));    

7    ?

怎样将php里的汉字字符串分割成单个字符

如果你的字串是固定的,就先用substr() 固定截图来赋值把,(汉子截取2个字节)

$str = "怎么chai数组123";

function str_arr($str){

$str1 = substr($str,0,1);

echo $str1;

$e = preg_match("/^[\x7f-\xff]+$/",$str1);

echo $e;

if($e){$zhi = "y"; }else{$zhi = 'n';}

echo $zhi;

$new = array();

if($e){

$new[] = $str1;

$str_r = substr($str,2);

}else{

$str2 = substr($str,0,2);

$new[] = $str2;

$str_r = substr($str,2);

}

return $new;

}

$ss = str_arr($str);

var_dump($ss);

PHP中如何分割字符串

最常用函数 substr(); 不考虑性能情况下的,万能分割函数

$str = "hello";

substr($str,1); // ello

substr($str,0,3); // hel

substr($str,3,1); // l

不用我再解释吧

关于php怎么分割中文字符串和php处理字符串的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本文转载自互联网,如有侵权,联系删除