php截取字符串长度函数详解
在php中提供了大量字符串操作函数,像计算字符串长度或字符串截取函数,但是他们都只能简单的计算英文字符,不能对中文混合字符串进行操作,下面我来给大家介绍截取字符串长度与计算字符串长度的方法总结.
常用的字符处理函数,代码如下:
- strstr(string,string) = strchr(,) //从前面第一次出现某个字符串的地方截取到最后
- strrchr(string,string) //从某个字符串从最后出现的位置截取到结尾
- strpos(string,string[,int]) //某个字符串第一次出现的位置
- strrpos(string,string) //某个字符串最后一次出现的位置
- substr(string,int[,int]) //从指定位置开始截取字符串,可以指定截取的长度。
- strlen(string) //获取字符串的长度
假设:$str="这是1个字符串";这个串中包含了一个半角字符,同样执行如下代码:
if(strlen($str)>10) $str=substr($str,10);
由于原字符串$str的第10、11个字符构成了汉字“符”;执行串分割后会将该汉字一分为二,这样被截取的串就会发现乱码现象,那我们可以先来计算字符串长度,代码如下:
- <?PHP
- header('Content-type: text/html; charset=utf-8');
- $str = "在士大夫了sdfsdfcxvzv一截";
- $pa = '/[x{4e00}-x{9fa5}]/siu';
- preg_match_all($pa, $str, $r);
- $count = count($r[0]);
- echo "当前的字符串中,共有 $count 个汉字";
- if($count>10)
- {
- //如果汉字数量大于10,你的代码
- }
- ?>