php 截取utf-8格式的字符串实例代码


Posted in PHP onOctober 30, 2016

php 截取utf-8格式的字符串

php中,我们经常需要截取字符串。英文字符占用一个字节,中文字符占用两个字节,但中文字符占用两个字节是相对于GBK编码而言但是在时下国际流行的UTF8编码中,一个中文字符占用3个字节。本文章向大家介绍一个php 截取utf-8格式字符串的函数。

举例说明:

function truncate_utf8_string($string, $length, $etc = '...') {
 $result = '';
 $string = html_entity_decode ( trim ( strip_tags ( $string ) ), ENT_QUOTES, 'UTF-8' );
 $strlen = strlen ( $string );
 for($i = 0; (($i < $strlen) && ($length > 0)); $i ++) {
 if ($number = strpos ( str_pad ( decbin ( ord ( substr ( $string, $i, 1 ) ) ), 8, '0', STR_PAD_LEFT ), '0' )) {
  if ($length < 1.0) {
  break;
  }
  $result .= substr ( $string, $i, $number );
  $length -= 1.0;
  $i += $number - 1;
 } else {
  $result .= substr ( $string, $i, 1 );
  $length -= 0.5;
 }
 }
 $result = htmlspecialchars ( $result, ENT_QUOTES, 'UTF-8' );
 if ($i < $strlen) {
 $result .= $etc;
 }
 return $result;
}

如果需要截取utf-8格式的字符串,直接调用这个函数即可。

<?php
  $str="如果需要截取utf-8格式的字符串,直接调用这个函数即可。";
  echo truncate_utf8_string($str,10);//输出结果:如果需要截取utf-8格...
?>

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
PHP 时间转换Unix时间戳代码
Jan 22 PHP
php下网站防IP攻击代码,超级实用
Oct 24 PHP
PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
May 25 PHP
PHP CLI模式下的多进程应用分析
Jun 03 PHP
wamp安装后自定义配置的方法
Aug 23 PHP
php源码分析之DZX1.5加密解密函数authcode用法
Jun 17 PHP
使用图灵api创建微信聊天机器人
Jul 23 PHP
PHP的关于变量和日期处理的一些面试题目整理
Aug 10 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
Sep 23 PHP
PHP实现简易blog的制作
Oct 24 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
Mar 28 PHP
详解php中流行的rpc框架
May 29 PHP
php mysql like 实现多关键词搜索的方法
Oct 29 #PHP
PHP请求远程地址设置超时时间的解决方法
Oct 29 #PHP
浅谈php处理后端&amp;接口访问超时的解决方法
Oct 29 #PHP
完美解决phpexcel导出到xls文件出现乱码的问题
Oct 29 #PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
Oct 29 #PHP
浅谈PHP定义命令空间的几个注意点(推荐)
Oct 29 #PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
Oct 28 #PHP
You might like
深入密码加salt原理的分析
2013/06/06 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
文本框中禁止非数字字符输入比如手机号码、邮编
2013/08/19 Javascript
js数组操作常用方法
2014/05/08 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
2014/10/16 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
2015/10/12 Javascript
编写高性能Javascript代码的N条建议
2015/10/12 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
2016/03/01 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
2016/11/25 Javascript
js 判断数据类型的几种方法
2017/01/13 Javascript
js canvas实现简单的图像扩散效果
2020/06/28 Javascript
Vue+Flask实现简单的登录验证跳转的示例代码
2018/01/13 Javascript
利用Console来Debug的10个高级技巧汇总
2018/03/26 Javascript
详解如何从零开始搭建Express+Vue开发环境
2018/07/17 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
VUE脚手架具体使用方法
2019/05/20 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
在react中使用vue的状态管理的方法示例
2020/05/02 Javascript
python实现sublime3的less编译插件示例
2014/04/27 Python
Django实现快速分页的方法实例
2017/10/22 Python
Python实现多线程的两种方式分析
2018/08/29 Python
Python考拉兹猜想输出序列代码实践
2019/07/05 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
CSS3 text-shadow实现文字阴影效果
2016/02/24 HTML / CSS
俄罗斯一家时尚女装商店:Charuel
2019/12/04 全球购物
在阿尔卑斯山或希腊度过快乐假期:Alpine Elements
2019/12/28 全球购物
新电JAVA笔试题目
2014/08/31 面试题
2014教师专业技术工作总结
2014/12/03 职场文书
千手观音观后感
2015/06/03 职场文书
公司致全体员工的感谢信
2019/06/24 职场文书
MySql新手入门的基本操作汇总
2021/05/13 MySQL
Python实现简繁体转换
2021/06/07 Python