博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php中截取中文字符串
阅读量:2429 次
发布时间:2019-05-10

本文共 2423 字,大约阅读时间需要 8 分钟。

1. 截取GB2312中文字符串

0xa0) { $tmpstr .= substr($str, $i, 2); $i++; } else $tmpstr .= substr($str, $i, 1); } return $tmpstr;}?>

2. 截取utf8编码的多字节字符串

3. UTF-8、GB2312都支持的汉字截取函数

$sublen) return join('', array_slice($t_string[0], $start, $sublen))."..."; return join('', array_slice($t_string[0], $start, $sublen)); } else { $start = $start*2; $sublen = $sublen*2; $strlen = strlen($string); $tmpstr = ''; for($i=0; $i< $strlen; $i++) { if($i>=$start && $i< ($start+$sublen)) { if(ord(substr($string, $i, 1))>129) { $tmpstr.= substr($string, $i, 2); } else { $tmpstr.= substr($string, $i, 1); } } if(ord(substr($string, $i, 1))>129) $i++; } if(strlen($tmpstr)< $strlen ) $tmpstr.= "..."; return $tmpstr; }}$str = "abcd需要截取的字符串";echo cut_str($str, 8, 0, 'gb2312');?>

4. BugFree 的字符截取函数

< ?php/** * @package     BugFree * @version     $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss Exp $ * * * Return part of a string(Enhance the function substr()) * * @author                  Chunsheng Wang 
* @param string $String the string to cut. * @param int $Length the length of returned string. * @param booble $Append whether append "...": false|true * @return string the cutted string. */function sysSubStr($String,$Length,$Append = false){ if (strlen($String) < = $Length ) { return $String; } else { $I = 0; while ($I < $Length) { $StringTMP = substr($String,$I,1); if ( ord($StringTMP) >=224 ) { $StringTMP = substr($String,$I,3); $I = $I + 3; } elseif( ord($StringTMP) >=192 ) { $StringTMP = substr($String,$I,2); $I = $I + 2; } else { $I = $I + 1; } $StringLast[] = $StringTMP; } $StringLast = implode("",$StringLast); if($Append) { $StringLast .= "..."; } return $StringLast; }}$String = "17test.info 走在中国自动化测试的前沿";$Length = "18";$Append = false;echo sysSubStr($String,$Length,$Append);?>

转载地址:http://dusmb.baihongyu.com/

你可能感兴趣的文章
python学习(一) windows开发环境搭建+linux运行环境
查看>>
理解区块链
查看>>
RPC实践(二)JsonRPC实践
查看>>
RPC实践(三)Hessian实践
查看>>
Zookeeper实践(四)zookeeper的WEB客户端zkui使用
查看>>
RPC实践(四)Dubbo实践
查看>>
java对象实例化的几种方法
查看>>
RPC实践(五)Dubbo实践-服务集群
查看>>
java单元测试Junit实践(一) Junit基础
查看>>
Webservice实践(一) Webservice基础和SOAP简单介绍
查看>>
Webservice实践(二)Webservice 客户端开发
查看>>
Webservice实践(三)基于JDK的jax ws进行服务端开发
查看>>
Webservice实践(四)基于AXIS2的服务端开发
查看>>
Webservice实践(五)基于CXF的服务端开发
查看>>
Webservice实践(七)CXF 与Spring结合+tomcat发布
查看>>
Ubuntu12.04下安装eclipse C/C++开发环境
查看>>
RabbitMQ服务客户端的的业务逻辑
查看>>
Eclipse中10个最有用的快捷键组合
查看>>
Routing
查看>>
json相关学习
查看>>