php字符串分割
㈠ php拆分字符串
可以用正则和字符串分词~,下面这个是按照逗号或空格分词~
$str = '豆瓣,人人,开心';
$str4 = str_replace(',',',',$str); //将中文逗号转换成英文逗号,很重要
$key = preg_split('/[\s,]+/',$str4); //分词功能
foreach($key as $value){
echo $value;
echo '<br />';
}
㈡ php把字符串分割为两部分
改变一下算法,找到空格后截尾好一些
function getTail($text){
$pos=strpos($text,' ');
if($pos===false or $pos===strlen($text)-1)
return $text;
else{
return substr($text,$pos+1);
}
}
echo getTail("xxxxx yyyyy zzzzzz...");
===========
加分加分,0分好意思
㈢ php字符串分割问题
㈣ php如何平均分割字符串 例分割为四部分
$str = 'asdhjiuygfrewsghbvfdfswe';
$len = strlen($str);
$part = ($len/4);
$arr = str_split($str, $part);
print_r($arr);
若想要平均分成4部分,必须得保证字符串的总长度是4的整数倍。
㈤ php 分割获取字符串
我们在使用PHP语言进行编程操作时,通常都会对字符串进行增减,改变等。那么,如何才能实现PHP分割字符串的功能呢?在接下来的文章中我们将会为大家详细介绍。
PHP分割字符串代码示例:
< ?php
$str = ’1234′;
$arr = str_split($str);
print_r($arr);
?>
结果 : Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
定义和用法
str_split() 函数把字符串分割到数组中。
语法 length 表示每个字符串的个数
str_split(string,length) 默认长度是1 上面如果是str_split($str,2) 结果为Array ( [0] => 12 [1] => 34)
如果是$str=’1 2 3 4′ 这个时候就用 explode()函数 explode(‘ ‘,$str) 按照空格分开
如果是一篇文章的内容时候截取方法是按照字符的个数:用到strlen()函数和substr()字符串截取函数来实现PHP分割字符串的功能,如:
< ?php $len=strlen($row['game_detail']);
//获取这个字符串的长度;
if($len>102)
//判断字符串如果大于102就输出102个字符串。
{ echo $s=substr($row['game_detail'],
0,102); echo '...';
}
else{ echo $row["game_detail"];
//否则就输出全部;
}
?>
也就是在输出前做个判断。。strlen(字符串名称)。。substr(字符串,0,102)要分割的范围0-103。以上这些就是PHP分割字符串的全部方法,希望大家有所掌握。
㈥ 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不支持汉字,会把汉字分为两半,需要把汉字当为一个字符进行处理的时候,需要自己编写函数。
㈦ 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 . 然后就可以拼接出你要的了.
㈧ 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() 更快,这样就不会招致正则表达式引擎的浪费。
㈨ PHP分割字符串
假设你的这个字符串名为$str
$str = 'john123mike33lily51';
$name = preg_split("/[\d]+/", $str);
$number = preg_split("/[a-z|A-Z]+/", $str);
那么$name就是名字数组,$number是数字数组。其中应用到了正则表达式
㈩ php根据换行分割字符串
Windows下是以\r\n换行。不过结果是一样的啦(你也可以分割好后再替换掉\r。其实如果你输出的话浏览器是会忽略\r的),只要不是苹果机(以\r换行)就不会出问题。