php截取中文字符串函数实例


Posted in PHP onFebruary 23, 2015

本文实例讲述了php截取中文字符串函数。分享给大家供大家参考。具体实现方法如下:

<?php

//中文字符串截取

function substr_zh($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))."...";

   //array_slice()在数组中根据条件取出一段值,参数(数组,开始位置,[长度])

  }else{

   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){

    //ord():返回字符串第一个字符的ASCII值

    //substr():返回字符串的一部分

     $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;

 }

}

$string ="顶置车顶起困境??上盯协押畏奇才趄肯困楞右脚可爱有";

echo substr_zh($string,10,0,'gb2312');

?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP5.0正式发布 不完全兼容PHP4 新增多项功能
Oct 09 PHP
php中cookie的使用方法
Mar 29 PHP
Smarty中调用FCKeditor的方法
Oct 27 PHP
php实现获取文章内容第一张图片的方法
Nov 04 PHP
CodeIgniter配置之autoload.php自动加载用法分析
Jan 20 PHP
Symfony模板的快捷变量用法实例
Mar 17 PHP
php实现微信扫码自动登陆与注册功能
Sep 22 PHP
YII2框架中excel表格导出的方法详解
Jul 21 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 PHP
PHP中OpenSSL加密问题整理
Dec 14 PHP
lnmp安装多版本PHP共存的方法详解
Aug 02 PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 PHP
php输入数据统一类实例
Feb 23 #PHP
php简单定时执行任务的实现方法
Feb 23 #PHP
Yii学习总结之数据访问对象 (DAO)
Feb 22 #PHP
Yii学习总结之安装配置
Feb 22 #PHP
使用php的HTTP请求的库Requests实现美女图片墙
Feb 22 #PHP
十幅图告诉你什么是PHP引用
Feb 22 #PHP
PHP的引用详解
Feb 22 #PHP
You might like
用C/C++扩展你的PHP 为你的php增加功能
2012/09/06 PHP
php创建基本身份认证站点的方法详解
2013/06/08 PHP
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
php使用curl检测网页是否被百度收录的示例分享
2014/01/31 PHP
php根据日期判断星座的函数分享
2014/02/13 PHP
php简单实现MVC
2015/02/05 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
2017/03/15 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
IE JS编程需注意的内存释放问题
2009/06/23 Javascript
JS操作select下拉框动态变动(创建/删除/获取)
2013/06/02 Javascript
文本框中禁止非数字字符输入比如手机号码、邮编
2013/08/19 Javascript
javascript实现复制与粘贴操作实例
2014/10/16 Javascript
JS解析XML文件和XML字符串详解
2015/04/17 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
2015/06/29 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
2016/05/05 Javascript
jQuery获取剪贴板内容的方法
2016/06/16 Javascript
jQuery给div,Span, a ,button, radio 赋值与取值
2016/06/24 Javascript
Web安全测试之XSS实例讲解
2016/08/15 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
浅析Node.js:DNS模块的使用
2016/11/23 Javascript
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
2017/07/12 jQuery
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
2018/11/30 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
Python 的 Socket 编程
2015/03/24 Python
Python中__new__与__init__方法的区别详解
2015/05/04 Python
python+mongodb数据抓取详细介绍
2017/10/25 Python
Python贪心算法实例小结
2018/04/22 Python
python 自定义对象的打印方法
2019/01/12 Python
opencv转换颜色空间更改图片背景
2019/08/20 Python
Python列表元素常见操作简单示例
2019/10/25 Python
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
2015/02/22 面试题
某某同志考察材料
2014/05/28 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
导游词之峨眉乐山/兵马俑/北京故宫御花园
2019/09/03 职场文书