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新手上路(九)
Oct 09 PHP
用PHP读取flv文件的播放时间长度
Sep 03 PHP
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
Jul 17 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
Oct 01 PHP
php获取YouTube视频信息的方法
Feb 11 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
Sep 22 PHP
PHP 数组基本操作方法详解
Jun 17 PHP
PHP面向对象程序设计之对象生成方法详解
Dec 02 PHP
php 变量引用与变量销毁机制详细介绍
Dec 05 PHP
PHP使用SOAP调用API操作示例
Dec 25 PHP
基于ThinkPHP删除目录及目录文件函数
Oct 28 PHP
PHP mkdir创建文件夹实现方法解析
Nov 13 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
PHP排序之二维数组的按照字母排序实现代码
2011/08/13 PHP
PHP中feof()函数实例测试
2014/08/23 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
详解php用static方法的原因
2018/09/12 PHP
js DOM模型操作
2009/12/28 Javascript
JQuery之拖拽插件实现代码
2011/04/14 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
javascript实现促销倒计时+fixed固定在底部
2013/09/18 Javascript
JQuery调用绑定click事件的3种写法
2015/03/28 Javascript
全面解析Bootstrap表单使用方法(表单控件)
2015/11/24 Javascript
Bootstrap入门书籍之(三)栅格系统
2016/02/17 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
2018/01/09 Javascript
js 索引下标之li集合绑定点击事件
2018/01/12 Javascript
Puppeteer环境搭建的详细步骤
2018/09/21 Javascript
js图片无缝滚动插件使用详解
2020/05/26 Javascript
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
[48:48]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[59:15]EG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/29 DOTA
Python连接MySQL并使用fetchall()方法过滤特殊字符
2016/03/13 Python
Python实现将文本生成二维码的方法示例
2017/07/18 Python
Python分析学校四六级过关情况
2017/11/22 Python
浅谈django orm 优化
2018/08/18 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
2019/07/03 Python
30秒学会30个超实用Python代码片段【收藏版】
2019/10/15 Python
Django admin禁用编辑链接和添加删除操作详解
2019/11/15 Python
Python实现微信好友的数据分析
2019/12/16 Python
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
HTML5 背景的显示区域实现
2020/07/09 HTML / CSS
Europcar意大利:汽车租赁
2019/07/07 全球购物
大学生村官典型材料
2014/01/12 职场文书
贸易跟单员英文求职信
2014/04/19 职场文书
电子商务实训报告总结
2014/11/05 职场文书
Oracle 数据仓库ETL技术之多表插入语句的示例详解
2021/04/12 Oracle
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL