php割字符
1. php的分割字符串
str_split()方法 以下是手册的说明
$str = "Hello Friend";
$arr1 = str_split($str);
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => F
[7] => r
[8] => i
[9] => e
[10] => n
[11] => d
)
2. php字符串切割
正则版本
<?php
$p='我想对level 的值进行切割然后弄成 数组
值为 [1],1,2,3,4,[5],6,7,8,9,[10],11,12 要切割为 如果';
preg_match_all( '/\[(?<a>\d+)\]|(?<b>\d+)/m', $p, $m );
$a=array_values(array_filter($m['a'],'strlen'));
$b=array_values(array_filter($m['b'],'strlen'));
print_r($a);
echo '<hr>';
print_r($b);
===========
输出
Array
(
[0] => 1
[1] => 5
[2] => 10
)
----------------------------------------------
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 6
[5] => 7
[6] => 8
[7] => 9
[8] => 11
[9] => 12
)
3. 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分割字符串的全部方法,希望大家有所掌握。
4. 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 . 然后就可以拼接出你要的了.
5. PHP中如何分割字符串
最常用函数 substr(); 不考虑性能情况下的,万能分割函数
$str = "hello";
substr($str,1); // ello
substr($str,0,3); // hel
substr($str,3,1); // l
不用我再解释吧
6. php字符截取
当汉字被截断时,根据编码规则他总是要把后边的其他字符拉过来一起作为汉字解释,这就是出现乱码的原因。而值为0x81到0xff与0x00组合始终都显示为“空”
根据这一特点,在substr的结果后面补上一个chr(0),就可以防止出现乱码了
先看段代码
复制代码
代码如下:
<?php
$len
=
15;
$str
=
"这个新闻或是文章的标题很长,需要只显示前面一些字,后面用...来代替";
echo
strlen($str)<=$len
?
$str
:
(substr($str,0,$len).chr(0)."...");
?>
chr(0)相关知识:
null是什么都没有,而chr(0)的值是0。表示成16进制是0x00,表示成二进制是00000000
虽然chr(0)不会显示出什么,但是他是一个字符。
7. 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() 更快,这样就不会招致正则表达式引擎的浪费。
8. php分割字符串的函数是什么
这个函数是substr例子:echo substr('abcdef123', 1, 3); // 输出bcd
如果你是将字符串分割成单个字符的话,就用split('abcde'),这个返回一个数组.
如果你的字符串有固定的分割符,你可以用explode('|','a|b|cd|e').这个返回也是一个数组.
9. php怎么分割字符串,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才行)
10. 用php程序切割字符串
这个按照行来读取就行了
<?
$str = '《雨巷》
作者:戴望舒
撑着油纸伞,独自
彷徨在悠长,悠长
又寂寥的雨巷,
我希望逢着
一个丁香一样地
结着愁怨的姑娘。
她是有
丁香一样的颜色,
丁香一样的芬芳,
丁香一样的忧愁,
在雨中哀怨,
哀怨又彷徨;
她彷徨在这寂寥的雨巷,
撑着油纸伞
像我一样,
像我一样地
默默行着,
冷漠,凄清,又惆怅。
她静默地走近
走近,又投出
太息一般的眼光,
她飘过
像梦一般地,
像梦一般地凄婉迷茫。
像梦中飘过
一枝丁香地,
我身旁飘过这女郎;
她静静地远了,远了,
到了颓圮的篱墙,
走尽这雨巷。
在雨的哀曲里,
消了她的颜色,
散了她的芬芳,
消散了,甚至她的
太息般的眼光,
丁香般的惆怅。
撑着油纸伞,独自
彷徨在悠长,悠长
又寂寥的雨巷,
我希望飘过
一个丁香一样地
结着愁怨的姑娘。 ';
$arr = explode('
',$str);
print_r($arr);
echo '<hr>';
echo '一共有'.count($arr) .'行';
?>