php切割字符
Ⅰ 怎样将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){$ = "y"; }else{$ = 'n';}
echo $;
$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_mp($ss);
Ⅱ php如何平均分割字符串 例分割为四部分
$str = 'asdhjiuygfrewsghbvfdfswe';
$len = strlen($str);
$part = ($len/4);
$arr = str_split($str, $part);
print_r($arr);
若想要平均分成4部分,必须得保证字符串的总长度是4的整数倍。
Ⅲ PHP分割字符串
假设你的这个字符串名为$str
$str = 'john123mike33lily51';
$name = preg_split("/[\d]+/", $str);
$number = preg_split("/[a-z|A-Z]+/", $str);
那么$name就是名字数组,$number是数字数组。其中应用到了正则表达式
Ⅳ php字符串分割
functon spiltPath($path){
$pathSpilts=array();//存放分割后的数据;
$arr=explode("/",$path);//以"/"分割path
$length=count($arr); //得到分割后数组长度
//拿到路径前面部分
$pathname=null;
for($i=0;$i<$length-1;$i++){
$pathname=$pathname.$arr[$i]."/";
}
$pathSpilts['pathname']=$pathname;
$filename=$arr[length-1];//取得文件名,就是数组的最后一个
//分割文件名,得到后缀和文件头
$filenameSpilt=explode(".",$filename);
//echo "文件头是:".$filenameSpilt[0];
// echo "文件后缀是:".$filenameSpilt[1];
$pathSpilts['filehead']=$filenameSpilt[0];
$pathSpilts['suffix']=$filenameSpilt[1];
//如果要加上那个"."的话可以在前面自己添加,".".$filenameSpilt[1];
return $pathSpilts;
}
纯手工操作,新手,累死了。
Ⅳ php如何分割中文字符串
php分割中文字符串,如果直接用PHP函数“str_split”来分割,会出现乱码,因为中文字符长度和英文字符长度是不一样的。
所以,可以建立新的函数先把字符转成ASCII值,接着通过判断不同字符的长度来正确分割中文字符串,把结果存入数组,最后再用PHP函数“join”在字符间插入百分号。
具体参考代码如下:
<?php
functionstr_split_utf8($str){
$split=1;
$array=array();
for($i=0;$i<strlen($str)){
$value=ord($str[$i]);
if($value>127){
if($value>=192&&$value<=223)$split=2;
elseif($value>=224&&$value<=239)$split=3;
elseif($value>=240&&$value<=247)$split=4;
}else{
$split=1;
}
$key=NULL;
for($j=0;$j<$split;$j++,$i++){
$key.=$str[$i];
}
array_push($array,$key);
}
return$array;
}
$string="网络知道www..cn";
$arr1=str_split_utf8($string);
echojoin("%",$arr1);
?>
Ⅵ php分割中英文字符串的几种方
对一段文字按照字数进行分割,因为文字中可能是中英文混合的,而php函数strlen只能计算出字串的字节数,于是自己实现了几个函数,分享下。
例1,计算字符总长度。
01<?php
02functionccStrLen($str)#计算中英文混合<ahref="/"target="_blank"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字符
09if($hasCC&&!$hasAsc)#只有汉字的情况
10returnstrlen($str)/2;
11if(!$hasCC&&$hasAsc)#只有Ascii字符的情况
12returnstrlen($str);
13for($ind=0;$ind<$ascLen;$ind++)
14{
15if(ord(substr($str,$ind,1))>0xa0)
16{
17$ccLen++;
18$ind++;
19}
20else
21{
22$ccLen++;
23}
24}
25return$ccLen;
26}
27?>
例2,从左侧截取字符串。
01<?php
02functionccStrLeft($str,$len)#从左边截取中英文混合字符串
03{
04$ascLen=strlen($str);if($ascLen<=$len)return$str;
05$hasCC=ereg(”[xA1-xFE]“,$str);#同上
06$hasAsc=ereg(”[x01-xA0]“,$str);
07if(!$hasCC)returnsubstr($str,0,$len);
08if(!$hasAsc)
09if($len&0×01)#如果长度是奇数
10returnsubstr($str,0,$len+$len-2);
11else
12returnsubstr($str,0,$len+$len);
13$cind=0;$flag=0;$reallen=0;//实际取字节长
14while($cind<$ascLen&&$reallen<$len)
15{//bywww.jbxue.com
16if(ord(substr($str,$cind,1))<0xA1){//如果该字节为英文则加一
17$cind++;
18}else{//否则加2个字节
19$cind+=2;
20}
21$reallen++;
22}
23returnsubstr($str,0,$cind);
24}
25?>
例3,把给定文字,按切割数量存入数组(适合短篇文字,长文章可没分隔一部分就直接处理一次)
viewsourceprint?
01<?php
02functionSplitContent($content,$smslen){
03$str_tmp=$content;
04$arr_cont=array();
05$len_tmp=0;
06$i=0;//分割绝对位置
07while(strlen($str_tmp)>0){
08$str_tmp=ccStrLeft($str_tmp,$smslen);
09array_push($arr_cont,$str_tmp);
10$i+=strlen($str_tmp);
11$str_tmp=substr($content,$i,strlen($content));
12}
13return$arr_cont;
14}//bywww.jbxue.com
15?>
测试:
1<?php
2$str=’a计算中英文混合1234字符串的长度abcd’;
3echo$str.’的长度为:’.ccStrLen($str);
4echo‘<br>’;
5$smslen=3;//截取长度
6print_r(SplitContent($str,$smslen));
7?>
Ⅶ “PHP基础”字符串分割 explode 与 str_split 函数
用于分割简颂字符串。
相关函数如下:
本函数为 implode() 的反函数,使用一慧咐仔个字符串分割另一个字符串,返回一个数组。
语法:
array explode( string separator, string string [, int limit] )
例子:
输出结果如下:
str_split() 将字符串分割为一个数组,成功返回一个数组。
语法前汪:
array str_split( string string [, int length] )
例子:
输出结果如下:
Ⅷ 怎样将php里的汉字字符串分割成单个字符
很简单,代码如下:
<?php
$str="HelloFriend";
$arr1=str_split($str);
$arr2=str_split($str,3);
print_r($arr1);
print_r($arr2);
/*Outputmaylooklike:
Array
(
[0]=>H
[1]=>e
[2]=>l
[3]=>l
[4]=>o
[5]=>
[6]=>F
[7]=>r
[8]=>i
[9]=>e
[10]=>n
[11]=>d
)
Array
(
[0]=>Hel
[1]=>lo
[2]=>Fri
[3]=>end
)
*/
?>
Ⅸ php怎么把字符串指定字符分割成数组
<?php
$str="1|2|3|4|5|";
$var=explode("|",$str);
print_r($var);
?>
$var=explode("|",$str);
把$str按|进行分割
php还有其他的把字符串指定字符分割成数组
str_split(string,length)参数 描述
string 必需。规定要分割的字符串。
length 可选。规定每个数组元素的长度。默认是 1。
json_decode()这个函数也可以把字符串分割成数组 (第二个参数为true才行)
Ⅹ php怎么把字符串指定字符分割成数组
x0dx0a$var=explode("|",$str);x0dx0a把$str按|进行分割x0dx0aphp还有其他的把字符核段销串指定字符分割成数组x0dx0a str_split(string,length)参数 描述 x0dx0astring 必需。规定改游要分割的字符燃慎串。 x0dx0alength 可选。规定每个数组元素的长度。默认是 1。 x0dx0a json_decode()这个函数也可以把字符串分割成数组 (第二个参数为true才行)