PHP substr(),mb_substr(),mb_strcut()比较
PHP substr(),mb_substr(),mb_strcut()比较
1、前言:
1)、这三个函数都用来截取字符串,所不同的是:
substr是最简单的截取,无法适应中文;
mb_substr是按字来切分字符串;
mb_strcut是按字节来切分字符串,截取中文都不会产生半个字符的现象。
2)、这三个函数的前三个参数完全一致,即:
第一个参数是操作对象
第二个参数是截取的起始位置
第三个参数是截取的数量
mb_substr和mb_strcut还有第四个参数:第四个参数可以根据不同的字符集进行设置
2、使用:
1)、string substr ( string $string , int $start [, int $length ] )
(1)、start
1]、为非负数:返回的字符串将从 string 的 start 位置开始, 至字符串结尾
代码:echo substr('abcdef', 2);
返回:cdef
2]、为0:返回全部字符串
代码:echo substr('abcdef', 0);
返回:abcdef
3]、为负数:从结尾往前第n个,至字符串结尾
代码:echo substr('abcdef', -3);
返回:def
4]、start等于字符串的长度
返回空字符串 '';
5]、start大于字符串的长度
返回:bool(false)
(2)、length
1]、正数:从start开始,截取start后面的length长度的字符串
代码:echo substr('abcdef', 2, 4);
返回:cdef
2]、如果是 0,FALSE 、 NULL ,返回一个空字符串
3]、如果是一个负数,将从尾部计数;也即返回的字符串为从start开始至字符串结尾前|length|处,||表示绝对值。
代码:echo substr("abcdef", 2, -1);
返回:cde
代码:var_dump(substr("abcdef", 4, -4));
返回:bool(false)
2)、mb_substr是按字符分割,而mb_strcut是按字节来分割,但是都不会产生半个字符的现象。
string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )
string mb_strcut ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )
案例:
代码:
echo mb_strcut( '渐a行渐远渐无书!', 0, 5 ).'<br/>';
echo mb_substr( '渐a行渐远渐无书!' ,0, 5 );
返回:
渐a
渐a行渐远
PHP substr(),mb_substr(),mb_strcut()比较相关推荐
- PHP的截取substr mb_substr
substr(字符串,开始处,长度) 按照字节进行拆分 mb_substr(字符串,开始处,长度) 按照字符进行拆分 <?p ...
- php函数substr、mb_substr、mb_strcut截取中文比较
一.函数说明 substr.mb_substr.mb_strcut这三个函数都用来截取字符串,所不同的是:substr是最简单的截取,无法适应中文:mb_substr是按字来切分字符串,而mb ...
- PHP用substr截取字符串出现中文乱码问题用mb_substr
PHP用substr截取字符串出现中文乱码问题用mb_substr 实例:mb_substr('截取中文乱码问题测试',0,5, 'utf-8'); 语法 : string substr (strin ...
- php parseurl的反函数,字符串修改(处理)函数
ltrim();//去掉字符串左空格; rtrim();//去掉字符串右空格; trim(); //去掉字符串两边空格; //去掉空格是返回一个新的字符串;原字符串不变; strlen(); ...
- DEDE 字符串操作常见问题
PHP String 函数 1.substr中文乱码,使用mb_substr处理 {dede:arclist row='10' typeid='10'} <div class='titlelin ...
- php 中文截断,PHP中实现中文字串截取无乱码的解决方法
在PHP中,substr()函数截取带有中文字符串的话,可能会出现乱码,这是因为中西文一个字节所占有的字节数不一样,而substr的长度参数是按照字节去算的,在GB2312编码时,一个中文占2个字节, ...
- php截取字符串后编码不对,php截取字符串出现中文乱码问题的解决
在之前的文章中我们给大家接好了php截取字符串的实现,以及php截取中文字符串的使用,那么我们在截取中文字符串的时候,很多时候都会出现乱码的问题,那么我们今天就给大家介绍php截取字符串出现中文乱码问 ...
- php 常用函数总结
第1章 常用还是 1.1 特许用法 1.1.1 DIRECTORY_SEPARATOR=/: 1.1.2 错误提示: throw new Exception('Division by zero.'); ...
- php 字符串 分割,php 分割字符
PHP 数组与字符串互转 数组转字符串: implode('!', $arr);//将一维数组以!分隔组合成一个字符串,参数一可以为"" 字符串转数组: explode('!', ...
- EclipsePHP Studio 3新建php文件中文乱码
php中文乱码: 解决方法: 1,将文件的编码保存为utf-8,然后在php中加入header("Content-type:text/html;charset=utf-8"); 2 ...
最新文章
- [Spark][翻译]Spark 架构: Shuffle过程分析
- intellij idea使用的准备工作
- mysql冷备增量备份,MySQL备份与恢复之真实环境使用冷备(2)
- wxWidgets:编写一个应用程序 - 添加一个按钮
- HDU2161 Primes
- ASP.net 2.0 的 Membership Provider 与 Role Provider 第一部分——引进资源
- 【good】在CentOS 6.x上安装GlusterFS
- qq永久删除的照片怎么恢复?教你两招轻松恢复
- 微信小程序4-小程序的api
- 四川托普计算机职业学校教务管理系统,四川托普信息技术职业学院教务处
- adb 环境变量配置 无效
- VS.NET(C#)-3.13_Panel控件
- blink usb无线网卡驱动 linux,BLINK无线网卡驱动下载
- vbm 分析_MRI脑影像分析从哲学到技术:一文搞懂VBM预处理基本原理(全网最详细解析)...
- android 关于报错SecurityException revoked permission android.permission.CAMERA
- 超赞~免费生成国庆风格微信头像API接口
- 可变参数模板实现可变参数字符串一定程度替代sprintf
- 一体的综合化云控平台
- 【实用】找实习找工作的看过来!法国大大小小招聘网站都在这儿
- Java数组数据类型
热门文章
- MapReduce Shuffle详解
- 唯一分解定理 详解(C++)
- debain服务器系统用什么,建站服务器系统用CentOS还是Debian 适合自己才好
- python写代码酷炫插件_使用 Python 制作酷炫多彩的 Jenkins 插件词云图
- ASP.NET连接数据库实现登录和注册
- [USACO06JAN]牛的舞会---洛谷P2863
- 国开大学计算机应用实操题作业如何上传,国开电大18秋《计算机应用基础》形考任务作业.doc...
- python信用卡违约预测分析_数据挖掘实战(1) : 信用卡违约率分析
- mysql varchar255 知乎_CHAR与VARCHAR详解
- 训练网络时如何加入噪声_[模型量化] 如何训练一个“耐量化”的网络?