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 相关文章推荐
如何做到多笔资料的同步
Oct 09 PHP
windows xp下安装pear
Dec 02 PHP
从php核心代码分析require和include的区别
Jan 02 PHP
PHP中获取变量的变量名的一段代码的bug分析
Jul 07 PHP
Smarty foreach控制循环次数的实现详解
Jul 03 PHP
php 启动时报错的简单解决方法
Jan 27 PHP
PHP Session机制简介及用法
Aug 19 PHP
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
Aug 19 PHP
PHP图像处理类库及演示分享
May 17 PHP
Yii2增删改查之查询 where参数详细介绍
Aug 08 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
Sep 01 PHP
Laravel中获取IP的真实地理位置
Apr 01 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
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
php的curl封装类用法实例
2014/11/07 PHP
php实现redis数据库指定库号迁移的方法
2015/01/14 PHP
jQuery学习2 选择器的使用说明
2010/02/07 Javascript
jQuery动态设置form表单的enctype值(实现代码)
2013/07/04 Javascript
css结合js制作下拉菜单示例代码
2014/02/27 Javascript
css+js实现部分区域高亮可编辑遮罩层
2014/03/04 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
2014/04/23 Javascript
js单词形式的运算符
2014/05/06 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
2014/10/22 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
javascript设计模式之对象工厂函数与构造函数详解
2015/07/30 Javascript
jQuery+HTML5实现图片上传前预览效果
2015/08/20 Javascript
jQuery模拟360浏览器切屏效果幻灯片(附demo源码下载)
2016/01/29 Javascript
动态加载js、css的实例代码
2016/05/26 Javascript
关于session和cookie的简单理解
2016/06/08 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
2016/07/01 Javascript
JavaScript计算器网页版实现代码分享
2016/07/15 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
Canvas实现放射线动画效果
2017/02/15 Javascript
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
Python环境下搭建属于自己的pip源的教程
2016/05/05 Python
Python迭代器定义与简单用法分析
2018/04/30 Python
解决在pycharm中显示额外的 figure 窗口问题
2019/01/15 Python
PowerBI和Python关于数据分析的对比
2019/07/11 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
python3.x中安装web.py步骤方法
2020/06/23 Python
纯CSS3实现鼠标滑过按钮动画第二节
2020/07/16 HTML / CSS
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
好药师网上药店:安全合法的网上药品零售药房
2017/02/15 全球购物
乐高瑞士官方商店:LEGO CH
2020/08/16 全球购物
实习生自荐信范文分享
2013/11/27 职场文书
进步之星获奖感言
2014/02/22 职场文书
重阳节主题班会
2015/08/17 职场文书