导航:首页 > 编程语言 > php中文字符串分割

php中文字符串分割

发布时间:2023-01-15 06:45:47

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分割中文字符串

$str = ereg_replace('[\W\_]+','',$str)

\W 大写W

===================================

噢。。。你要的是保留中文呀。。。

$str = ereg_replace('[\w[:punct:]]+','',$str)

❸ PHP中如何分割字符串

最常用函数 substr(); 不考虑性能情况下的,万能分割函数
$str = "hello";
substr($str,1); // ello
substr($str,0,3); // hel
substr($str,3,1); // l
不用我再解释吧

❹ php怎么把字符串指定字符分割成数组

x0dx0a$var=explode("|",$str);x0dx0a把$str按|进行分割x0dx0aphp还有其他的把字符串指定字符分割成数组x0dx0a str_split(string,length)参数 描述 x0dx0astring 必需。规定要分割的字符串。 x0dx0alength 可选。规定每个数组元素的长度。默认是 1。 x0dx0a json_decode()这个函数也可以把字符串分割成数组 (第二个参数为true才行)

❺ 怎样将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语言中字符串分割用什么函数

“php分割字符串的函数有explode()和str_split() explode()”【摘要】
php语言中字符串分割用什么函数?【提问】
“php分割字符串的函数有explode()和str_split() explode()”【回答】
explode() 函数使用一个字符串分割另一个字符串,并返回由字符串组成的数组。【回答】

❼ “PHP基础”字符串分割 explode 与 str_split 函数

用于分割字符串。

相关函数如下:

本函数为 implode() 的反函数,使用一个字符串分割另一个字符串,返回一个数组。

语法:

array explode( string separator, string string [, int limit] )

例子:

输出结果如下:

str_split() 将字符串分割为一个数组,成功返回一个数组。

语法:

array str_split( string string [, int length] )

例子:

输出结果如下:

阅读全文

与php中文字符串分割相关的资料

热点内容
苹果如何创建服务器错误 浏览:494
软考初级程序员大题分值 浏览:473
js压缩视频文件 浏览:578
linux如何通过命令创建文件 浏览:989
应用加密app还能访问应用嘛 浏览:432
安卓怎么用支付宝交违章罚款 浏览:665
php面向对象的程序设计 浏览:504
数据挖掘算法书籍推荐 浏览:894
投诉联通用什么app 浏览:150
web服务器变更ip地址 浏览:954
java正则表达式验证邮箱 浏览:360
成熟商务男装下载什么软件app 浏览:609
加密2h代表长度是多少厘米 浏览:23
拍卖程序员 浏览:101
电脑的图片放在哪个文件夹 浏览:276
unsignedintjava 浏览:217
编译器下载地址 浏览:43
什么是面对对象编程 浏览:708
b站服务器什么时候恢复 浏览:721
6p相当于安卓机什么水准 浏览:499