PHP的mb

php的mbstring扩展模块提供了多字节字符的处理能力,平常最常用的就是用mbstring来切分多字节的中文字符,这样可以避免出现半个字符的情况,由于是php的扩展,它的性能也要比一些自定义的多字节切分函数要好上一些。

mbstring extension提供了几个功能类似的函数,mb_substr和mb_strcut,看看手册上对它们的解释。

mb_substr
mb_substr() returns the portion of str specified by the start and length parameters.

mb_substr() performs multi-byte safe substr() operation based on number of characters. Position is counted from the beginning of str. First character's position is 0. Second character position is 1, and so on.

mb_strcut
mb_strcut() returns the portion of str specified by the start and length parameters.

mb_strcut() performs equivalent operation as mb_substr() with different method. If start position is multi-byte character's second byte or larger, it starts from first byte of multi-byte character.

It subtracts string from str that is shorter than length AND character that is not part of multi-byte string or not being middle of shift sequence.

举个例子来说,有一段文字, 分别用mb_substr和mb_strcut来做切分:

PLAIN TEXT
CODE:
<?php
$str = '我是一串比较长的中文-www.webjx.com';
 
echo "mb_substr:" . mb_substr($str, 0, 6, 'utf-8');
 
echo "<br>";
 
echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8');
?>
输出结果如下:

mb_substr:我是一串比较
mb_strcut:我是

时间: 2024-08-01 21:10:52

PHP的mb的相关文章

从Byte、KB、MB、GB、TB到PB、EB、ZB、YB

整天接触电脑,不可避免地要与各种计量单位打交道,尤其是数据量,但是你知道bit.Byte.KB.GB.TB等等都意味着多少数据么?有没有听说过EB.ZB.YB呢? bit(比特)是binary digit的英文缩写,量度信息的单位,也是表示信息量的最小单位,只有0.1两种二进制状态.8个bit组成一个Byte(字节),能够容纳一个英文字符,而一个汉字需要两个字节的存储空间,普通英文单词则需要十个左右的字节. 从字节开始往上按照千分位递进,分别就是KiloByte(KB).MegaByte(MB)

MB/s和Mbit/s有什么区别?

  数据传输率的单位一般采用MB/s或Mbit/s,尤其在内部数据传输率上官方数据中更多的采用Mbit/s为单位.此处有必要讲解一下两个单位二者之间的差异: MB/s的含义是兆字节每秒,Mbit/s的含义是兆比特每秒,前者是指每秒传输的字节数量,后者是指每秒传输的比特位数.MB/s中的B字母是Byte的含义,虽然与Mbit/s中的bit翻译一样,都是比特,也都是数据量度单位,但二者是完全不同的.Byte是字节数,bit是位数,在计算机中每八位为一字节,也就是1Byte=8bit,是1:8的对应关

系统分区无故的被占用了几百MB空间

  问:我的系统是Windows XP.当我把F盘里的所有文件转移到其他分区后,在其属性中竟然显示已用空间为几百MB,请问这是为什么? 答:这很可能是因为您启用了"系统还原",而"系统还原"在该分区的记录文件占用了几百MB空间.您可以右击"我的电脑",依次选择"属性"→"系统还原",在"可用的驱动器"列表中选择分区F,然后单击"设置"按钮,调整"系统还原&q

c语言-简单选择排序 时间限制: 40 Sec 内存限制: 128 MB

问题描述 简单选择排序 时间限制: 40 Sec 内存限制: 128 MB 题目描述 编一程序用简单选择排序方法对n个整数排序(从大到小). 对n个数进行降序排列,简单选择排序的算法思想如下: 1)首先通过n-1次比较,从n个元素中找出值最大的元素,将它与第一个元素交换.(第一趟排序). 2)再通过n-2次比较,从剩余的n-1个元素中找出值次大的元素,将它与第二个元素交换.(第二趟排序). 3)重复上述操作,共进行n-1趟排序后,排序结束. 输入 先输入整数个数n(n<=100000) 然后输入

计算机硬盘大小转换(B,KB,MB,GB,TB,PB之间的大小转换)

程序员都很懒,你懂的! java程序员在实际的开发中会遇到很多的单位换算问题.今天我给大家带来的是关于计算机硬盘大小的换算.多数情况下,一般要求b,kb,mb,gb,tb,pb之间的大小转换,我们都知道他们之间的换算是乘以1024或者除以1024.但是具体怎么用java代码来实现呢?请看下面的代码: package com.herman.utils; /*** * @see 存储大小(单位)转换器. * @author Herman.Xiong * @date 2014年5月27日 13:27:

TheBeerHourse 代码 MB.TheBeerHourse 怎么来的

问题描述 首先谢谢你的点击进入并能回答我的问题!以前我一直在半自学的学习着.net,发现自已是一直是个文盲,连一些基本的也是不懂,所以就是狠了个心买了<<ASP.NET2.0网站开发全程解析>>(第2版),在网上查知现在有第3版与第4版等,但是我想还是先学以前的吧,原先学的是1.0的,不敢跨度大!这几天晚上一直在使劲看,前几十页看的还挺顺畅,因为都是前面显示部门,以前接触的比较多,还是比较好理解,但是到30页左右就是发现一个问题了:在代码中有一行namespaceMB.TheBee

php统计文件大小,以GB、MB、KB、B输出_php技巧

使用filesize()函数命令实现文件大小的统计,要求:1,以GB.MB.KB.B中的一个输出:2.数量级必须大于1小于1024,并保留两位小数: 开始动工: 复制代码 代码如下: $len = filesize("1.rmvb"); $i=4; while($i){ if(($out=$len/pow(1024,$i))>1.0||$i==1){ switch($i){ case 4: {printf("%.2f TB",$out);break;} cas

美国MB金融银行采用SAN技术完善数据存储

   为了最大限度增加灵活性和可伸缩性,美国MB金融银行求助于SAN技术,使应用可以根据需要获得存储容量,就像使用电力和自来水公用设施那样. 美国MB金融银行诞生于2001年,是由两家芝加哥古老的社区银行:Manufacturers银行和MidCity金融银行合并而成的.其随之而来的问题是:两家银行所属的35家支行,每一家都各自保存着客户数据,这就使得新企业的管理成为了一种挑战. 据MB金融银行营销主管Karen Perlman介绍:"我们当时不得不编写能够采集35家分行数据的程序,并且这些数据

紧急求助啊,MB里面的 HTTPInput控件如何使用啊

问题描述 公司领导要求做个功能,客户端访问一个http的地址,然后就可以触发MB的一个流程.我就想用HTTPInput控件了啊,HTTPInput就一个URL属性啊,我就按照他的例子填了一个地址也就是端口号后面的路径.整个流程就是这样HTTPInput-->compute-->MQ输出--->HTTPReply但是我通过地址http://localhost:7800/path/to/service这样,不能触发这个HTTPInput啊,调试的断点不能进入啊.部署的时候貌似也没有报什么错.

CTIA数据:美国人2015年消耗移动数据9.6万亿MB

据电脑计算机杂志报道,美国无线通信和互联网协会(CTIA) 公布最新数据显示,2015年美国人消耗的移动数据高达9.6万亿MB,是2014年的2倍.2013年的3倍.CTIA表示,这些数据相当于每天使用无线网络观看5.9万段流媒体视频. 无需为此感到惊讶,智能手机依然是无线网络的首选设备.去年,美国共有2.283亿部智能手机被使用,比2014年的2.081亿部增长9.7%.无线网络订阅用户达到3.78亿个,供使用无线网络2.8万亿分钟. CTIA总裁梅雷迪斯·阿特维尔·贝克尔(Meredith