php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析


Posted in PHP onJune 10, 2014

示例代码,用到了函数substr与iconv_substr,mb_substr

<html>
<head><meta charset='utf-8'>
<title>截取中文字符串_三水点靠木_3water.com</title>
</head>
<body>
<?php
$str='123三水点靠木456欢迎大家的光临';
echo substr($str,0,4);
echo '<br>';
echo iconv_substr($str,0,4,'utf-8');
echo '<br>';
echo mb_substr($str,0,4,'utf-8');
?>
</body>
</html>

说明:
以上代码用到了二个函数iconv_substr和mb_substr,均可以在当前字符下进行字符串截取,以达到中文字符截取的不乱码。

应该如何选择呢?

1、iconv库在某些操作系统上可能运行不正确,需要安装GNU扩展库以保证它的正常运行。mb_substr函数的兼容性更好。

2、iconv函数会先将当前字符串转换为相应的编码再进行截取,而mb函数则是直接根据指定的编码进行截取(提供安全的多字节截取),所以mb函数的截取效率更高。

因此,mb_substr函数进行中文字符串的截取为最合适的选择。

PHP 相关文章推荐
PHP MSSQL 存储过程的方法
Dec 24 PHP
利用浏览器的Javascript控制台调试PHP程序
Jan 08 PHP
PHP 实现代码复用的一个方法 traits新特性
Feb 22 PHP
PHP通过反射动态加载第三方类和获得类源码的实例
Nov 27 PHP
PHP输入流php://input实例讲解
Dec 22 PHP
Yii中Model(模型)的创建及使用方法
Dec 28 PHP
PHP实现支持加盐的图片加密解密
Sep 09 PHP
Yii遍历行下每列数据的方法
Oct 17 PHP
PHP实现登录注册之BootStrap表单功能
Sep 03 PHP
PHP实现数据库的增删查改功能及完整代码
Apr 18 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
Dec 13 PHP
PHPstorm启用自动换行的方法详解(IDE)
Sep 17 PHP
一个严格的PHP Session会话超时时间设置方法
Jun 10 #PHP
解决CodeIgniter伪静态失效
Jun 09 #PHP
CI(CodeIgniter)框架介绍
Jun 09 #PHP
CI框架中集成CKEditor编辑器的教程
Jun 09 #PHP
PHP小教程之实现链表
Jun 09 #PHP
浅谈Eclipse PDT调试PHP程序
Jun 09 #PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
Jun 09 #PHP
You might like
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
基于PHPExcel的常用方法总结
2013/06/13 PHP
PHP循环结构实例讲解
2014/02/10 PHP
仿微博字符限制效果实现代码
2012/04/20 Javascript
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
JavaScript获取DOM元素的11种方法总结
2015/04/25 Javascript
AngularJS的一些基本样式初窥
2015/07/27 Javascript
JavaScript实现将文本框的值插入指定位置的方法
2015/08/13 Javascript
基于javascript实现tab选项卡切换特效调试笔记
2016/03/30 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
2016/05/27 Javascript
微信小程序教程之本地图片上传(leancloud)实例详解
2016/11/16 Javascript
Bootstrap table使用方法详细介绍
2016/12/09 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
2017/03/13 Javascript
Vue-cli创建项目从单页面到多页面的方法
2017/09/20 Javascript
解决iView中时间控件选择的时间总是少一天的问题
2018/03/15 Javascript
layui的table中显示图片方法
2018/08/17 Javascript
详解使用React.memo()来优化函数组件的性能
2019/03/19 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
[02:02]特效爆炸!DOTA2珍宝之瓶待你开启
2018/08/21 DOTA
用python实现批量重命名文件的代码
2012/05/25 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
2018/05/10 Python
python版飞机大战代码分享
2018/11/20 Python
python-django中的APPEND_SLASH实现方法
2019/06/21 Python
python sorted函数原理解析及练习
2020/02/10 Python
django创建超级用户时指定添加其它字段方式
2020/05/14 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
2020/06/10 Python
Python web框架(django,flask)实现mysql数据库读写分离的示例
2020/11/18 Python
python集合的新增元素方法整理
2020/12/07 Python
德国旅游网站:weg.de
2018/06/03 全球购物
巴黎欧莱雅法国官网:L’Oreal Paris
2019/04/30 全球购物
size?法国官网:英国伦敦的球鞋精品店
2020/03/15 全球购物
七年级作文之我的梦想
2019/10/16 职场文书
vue 实现上传组件
2021/05/31 Vue.js
MySQL数据库表约束讲解
2022/06/21 MySQL