拆分字符串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才行)
B. php 分割字符串
这100分来得好爽哦,楼上的正解。
关于str_split的详细例子程序:
<?php
$str="HelloFriend";
$arr1=str_split($str);
$arr2=str_split($str,3);
print_r($arr1);
print_r($arr2);
?>
上例将输出:
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
)
但是,str_split不支持汉字,会把汉字分为两半,需要把汉字当为一个字符进行处理的时候,需要自己编写函数。
C. php根据换行分割字符串
Windows下是以\r\n换行。不过结果是一样的啦(你也可以分割好后再替换掉\r。其实如果你输出的话浏览器是会忽略\r的),只要不是苹果机(以\r换行)就不会出问题。
D. PHP中如何分割字符串成数组
使用explode可以分割,第一个参数,以什么符号分割,第二个参数是分割的字符串
手册上的案例
<?php
//
示例
1
$pizza
=
"piece1
piece2
piece3
piece4
piece5
piece6";
$pieces
=
explode("
",
$pizza);
echo
$pieces[0];
//
piece1
echo
$pieces[1];
//
piece2
E. php 字符串 拆分
<?
$content = "aa bb ' bbb ' ' aaa'";
$newcontent=explode(" ",$content);//这个是按着空格截取的
print_r($newcontent);//打印新的字符串数组
$newcontent=explode("'",$content);//这个是按着单引号截取的
print_r($newcontent);//打印新的字符串数组
?>
F. php 如何分割字符串的每个字符
可以当数组使用,例如:
<?php
$s='hello';
for($i=0;$i<strlen($s);$i++)echo$s[$i]." ";
?>
程序注意显示字符串的每个字符,输出:
h
e
l
l
o
G. 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);
?>
H. php分割字符串
/**
*宽字符串分割
*
*@paramunknown_type$str
*@returnunknown
*/
functionsplit($str){
$ret=array();
$len=strlen($str);
for($i=0;$i<$len;$i++){
//判断编码位数
$code=ord($str[$i]);
//单字节0
if($code>>7==0){
$ret[]=$str[$i];
}
//4字节1111
elseif($code>>4==15){
if($i<$len-3){
$ret[]=$str[$i].$str[$i+1].$str[$i+2]+$str[$i+3];
$i+=3;
}
}
//3字节111
elseif($code>>5==7){
if($i<$len-2){
$ret[]=$str[$i].$str[$i+1].$str[$i+2];
$i+=2;
}
}
//双字节11
elseif($code>>6==3){
if($i<$len-1){
$ret[]=$str[$i].$str[$i+1];
$i+=1;
}
}
}
return$ret;
}
上面是分隔中文字串为数组的.
这种方式性能比正则表达式要高点. GBK , UTF-8 编码都是支持的.
分隔完毕之后, 你在循环数组, 设置步长为3 . 然后就可以拼接出你要的了.
I. php字符串分割问题
利用正则表达式和preg_match_all("正则表达式",“字符串”,数组),把字符串中满足正则表达式的值存到数组中
preg_match_all("/[w]+/",$str,$arr);
print_r($arr);php 字符串分割为数组用 explode("指定字符",“要分割的字符串”);
把数组拼接为字符串用implode("指定连接字符",“数组”);
你这里用explode方法可以解决,首先使用一次explode按“;”得到一个数组,然后循环这个数组,按“,”对每个元素使用一次explode就得到你要的结果了。
J. php中字符串分割
你研究一下 正则表达式 吧。
PHP的 split() 函数兼容正则表达式语法。
关于以上用法,给个例子你参考:
<?php
// 分隔符可以是斜线,点,或横线
$date = "04/30/1973";
list($month, $day, $year) = split ('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br />\n";
?>
提示
preg_split() 函数使用了 Perl 兼容正则表达式语法,通常是比PHP函数split()更快的替代方案。如果不需要正则表达式的威力,则使用 explode() 更快,这样就不会招致正则表达式引擎的浪费。