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
织梦模板标记简介
Mar 11 PHP
joomla内置的表单验证功能使用方法
Jun 11 PHP
php与paypal整合方法
Nov 28 PHP
php下将多个数组合并成一个数组的方法与实例代码
Feb 03 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
Jun 29 PHP
php使用curl抓取qq空间的访客信息示例
Feb 28 PHP
ThinkPHP 3.2 数据分页代码分享
Oct 14 PHP
php实现获取文章内容第一张图片的方法
Nov 04 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
May 28 PHP
Smarty缓存机制实例详解【三种缓存方式】
Jul 20 PHP
PHP 构造函数和析构函数原理与用法分析
Apr 21 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+AJAX实现无刷新注册(带用户名实时检测)
2007/01/02 PHP
php下将XML转换为数组
2010/01/01 PHP
PHP实现的构造sql语句类实例
2016/02/03 PHP
php+mysql实现简单登录注册修改密码网页
2016/11/30 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
jquery 仿QQ校友的DIV模拟窗口效果源码
2010/03/24 Javascript
javascript XMLHttpRequest对象全面剖析
2010/04/24 Javascript
Javascript call和apply区别及使用方法
2013/11/14 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
node.js中的console.time方法使用说明
2014/12/09 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
Java与JavaScript中判断两字符串是否相等的区别
2017/03/13 Javascript
Nodejs之TCP服务端与客户端聊天程序详解
2017/07/07 NodeJs
微信小程序 POST请求的实例详解
2017/09/29 Javascript
基于js原生和ajax的get和post方法以及jsonp的原生写法实例
2017/10/16 Javascript
详解在vue-cli项目中使用mockjs(请求数据删除数据)
2017/10/23 Javascript
如何使用puppet替换文件中的string
2018/12/06 Javascript
详解微信小程序文件下载--视频和图片
2019/04/24 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
微信小程序文字显示换行问题
2019/07/28 Javascript
微信小程序跨页面传递data数据方法解析
2019/12/13 Javascript
javascript canvas封装动态时钟
2020/09/30 Javascript
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
Sanic框架应用部署方法详解
2018/07/18 Python
聊聊python里如何用Borg pattern实现的单例模式
2019/06/06 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
2019/08/19 Python
PyCharm第一次安装及使用教程
2020/01/08 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
CSS3的RGBA中关于整数和百分比值的转换
2015/08/04 HTML / CSS
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
万得城电器土耳其网站:欧洲第一大电子产品零售商
2016/10/07 全球购物
介绍一下RMI的基本概念
2016/12/17 面试题
勇敢的心观后感
2015/06/09 职场文书
初中开学典礼新闻稿
2015/07/17 职场文书
十大最强妖精系宝可梦,哲尔尼亚斯实力最强,第五被称为大力士
2022/03/18 日漫