/*

Utf-8、gb2312都支持的汉字截取函数

cut_str(字符串, 截取长度, 开始长度, 编码);

编码默认为 utf-8

开始长度默认为 0

*/

function cut_str($string, $sublen, $start = 0, $code = 'UTF-8')

{

if($code == 'UTF-8')

{

$pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/";

preg_match_all($pa, $string, $t_string);

if(count($t_string[0]) - $start > $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

{

if($i>=$start && $i

{

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)

return $tmpstr;

}

}

$str = "abcd需要截取的字符串";

echo cut_str($str, 8, 0, 'gb2312');

?>

/*

Utf-8、gb2312都支持的汉字截取函数

cut_str(字符串, 截取长度, 开始长度, 编码);

编码默认为 utf-8

开始长度默认为 0

*/

function cut_str($string, $sublen, $start = 0, $code = 'UTF-8')

{

if($code == 'UTF-8')

{

$pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/";

preg_match_all($pa, $string, $t_string);

if(count($t_string[0]) - $start > $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

{

if($i>=$start && $i

{

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)

return $tmpstr;

}

}

$str = "abcd需要截取的字符串";

echo cut_str($str, 8, 0, 'gb2312');

?>

php汉字的截取,php汉字截取相关推荐

  1. java字节字符_java按字节截取带有汉字的字符串的解法(推荐)

    由于接口使用的oracle字段长度为固定字节数,然后传进来的字符串估计比数据库字段的总字节数要大,那么截取小于数据库字节数的字符串. 自己参考网上的例子,整了个递归调用就可以了,因为截取的字符字节长度 ...

  2. java截取中文_按字节截取混有中文汉字的字符串 中英文字符串截取

    [java]代码库import java.io.UnsupportedEncodingException; public class CutString { /** * 判断是否是一个中文汉字 * * ...

  3. java截取中文_java按字节截取带有汉字的字符串的解法(推荐)

    由于接口使用的oracle字段长度为固定字节数,然后传进来的字符串估计比数据库字段的总字节数要大,那么截取小于数据库字节数的字符串. 自己参考网上的例子,整了个递归调用就可以了,因为截取的字符字节长度 ...

  4. 拆分汉字|中文拆字|分割汉字

    拆分汉字|中文拆字|分割汉字 中文拆字,偏旁,部首,字根,我一直以为是通过什么算法变成hash或者二进制进行运算去匹配查找字库的值,或者什么技术上下左右分割,同音字查找,其实开始已经把字库文档已经定义 ...

  5. MySQL 创建函数, MySQL定义函数实现汉字转拼音 MySQL汉字转拼音MySQL汉字生成拼音字符串

    MySQL 创建函数, MySQL定义函数实现汉字转拼音 MySQL汉字转拼音 一.MySQL创建函数 1.语法 CREATE FUNCTION fun_name([paramName type , ...

  6. 汉字转换成html,汉字与16进制、汉字与Html转义符的转换

    汉字与16进制.汉字与Html转义符的转换 package test; import java.io.UnsupportedEncodingException; import java.net.URL ...

  7. 汉字转16进制java_java实现汉字转unicode与汉字转16进制实例

    本文实例讲述了java实现汉字转unicode与汉字转16进制的实现方法.分享给大家供大家参考.具体实现方法如下: 一.汉字转unicode public static String toUnicod ...

  8. 汉字的奥秘: 获取汉字的笔画数

    汉字的奥秘: 获取汉字的笔画数 想想看,如果你需要在代码里面得到汉字的笔画数,该怎么办呢?每到这个时候,我们就一直感慨咱汉字的复杂啊 网上搜了一下,能看到的解决方案大抵都是说把所有汉字的笔画预先记录好 ...

  9. php+中午截取,PHP_php字符串截取中文截取2,单字节截取模式,//中文截取2,单字节截取模式 - phpStudy...

    php字符串截取中文截取2,单字节截取模式 //中文截取2,单字节截取模式 function cn_substr($str,$slen,$startdd=0){ $restr = "&quo ...

最新文章

  1. 【swift学习笔记】二.页面转跳数据回传
  2. python基础/编程语言,解释器和pycharm的安装
  3. 2019.7.9刷题统计
  4. Linux系统下MySQL数据库的备份和恢复
  5. g120变频器报7490怎么处理_西门子通讯profinet网络下怎么更换G120变频器等部件
  6. 如何调试栈破坏之类的问题
  7. PHP gd库 验证码
  8. 单机单网卡最大tcp长连接数真的是65535吗?
  9. 用机器指令和汇编指令编程(修改版)
  10. 在阿里巴巴工作是一种怎样的体验?
  11. DNS协议及客户端实现
  12. html中grid布局,CSS:玩转grid布局
  13. 此刻心情--我为什么不找女朋友
  14. Hadoop-MapReduce
  15. 极品飞车ol服务器连接不稳定,极品飞车OL常见客户端问题有哪些_客户端问题解决方法_3DM网游...
  16. Android 蓝牙AVRCP 专题 (1)----- 手机端设置绝对音量Set Absolute Volume
  17. searchbar.wxss源代码
  18. 项目开发团队分配管理软件总结
  19. C语言进阶——指针笔试题图解
  20. [CSP-S模拟测试]:壕游戏(费用流)

热门文章

  1. 试用过期_过期的护肤品彩妆你都是怎么处理的呢?这样做,可以省一大笔钱
  2. java服务写在哪里_JavaService
  3. 创维 linux内核,Linux2.6内核在创维特jx2410平台上的移植四
  4. php网址中mod=,php – Apache mod-rewrite htaccess – 带参数的动态url
  5. element-UI中手动调用table排序
  6. mapreduce python实例_MapReduce程序实例(python)
  7. NPM使用淘宝NPM镜像的使用方法汇总
  8. lsmod modinfo ....
  9. 使用libjpeg显示JPEG图像在framebuffer 测试(八)
  10. HTTP协议header头域