用到了函数substr与iconv_substr,mb_substr

<html>
<head><meta charset=‘utf-8‘>
<title>截取中文字符串_脚本之家_www.jb51.net</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函数进行中文字符串的截取为最合适的选择。

时间: 2024-11-13 00:55:14

用到了函数substr与iconv_substr,mb_substr的相关文章

字符串截取函数substr()

substr(参数1,参数2[,参数3]); 该系统函数返回被截后的子字符串,它接受2个必选参数,参数1为要截取的字符串,参数2为截取的开始位置,参数3可选,表示截取长度. 例子:substr("abcdef",1);//返回"bcdef",从索引1处开始截取,如果没有指定截取长度,默认截取后面的所有字符. substr("abcdef",1,3);//返回"bcd",从索引1处开始截取3个字符. substr("a

Oracle截取字符串的函数substr

Oracle截取字符串的函数substr substr Oracle中的截取字符串函数. 语法如下: substr( string, start_position, [ length ] ) 参数分析: string 字符串值 start_position 截取字符串的初始位置, Number型,start_position为负数时,表示从字符串右边数起. length 截取位数,Number型 其中,length为可选,如果length为空(即不填)则返回start_position后面的所有

PHP截取字符串函数substr()函数实例用法详解

在PHP中有一项非常重要的技术,就是截取指定字符串中指定长度的字符.PHP对于字符串截取可以使用PHP预定义函数substr()函数来实现.下面就来介绍一下substr()函数的语法及其应用. substr()函数语法格式如下:大理石平台厂家 1 substr(string, start, length); substr()函数参数说明如下: 参 数 说 明 string 指定字符串对象 start 指定开始截取字符串的位置.如果参数start为负数,则从字符串的末尾开始截取 length 可选

php函数substr、mb_substr、mb_strcut截取中文比较

一.函数说明    substr.mb_substr.mb_strcut这三个函数都用来截取字符串,所不同的是:substr是最简单的截取,无法适应中文:mb_substr是按字来切分字符串,而mb_strcut是按字节来切分字符串,截取中文都不会产生半个字符的现象.    这三个函数的前三个参数完全一致,即:第一个参数是操作对象第二个参数是截取的起始位置第三个参数是截取的数量    mb_substr和mb_strcut还有第四个参数:第四个参数可以根据不同的字符集进行设置 <?php //对

php substr,iconv_substr,mb_substr桩奏纂滓最着

http://www.ebay.com/cln/xl9_hldz/2015.01.29/166576676014 http://www.ebay.com/cln/777_zdzn/2015.01.29/166409955019 http://www.ebay.com/cln/l7f_zjnr/2015.01.29/166599003012 http://www.ebay.com/cln/l5b_xvnb/2015.01.29/166604126010 http://www.ebay.com/cl

字符串截取函数substr和substring的不同及其相关说明

1.substr 方法 功能:用于返回一个从指定位置开始的指定长度的子字符串,从“母字符串”的“指定位置”开始提取“指定长度”的“子字符串”. 语法:stringObject.substr(start [, length ]) 参数描述 :start 必需.所需的子字符串的起始位置.字符串中的第一个字符的索引为 0. length 可选.在返回的子字符串中应包括的字符个数. 说明 :如果start为负数,则start=str.length+start. 如果 length 为 0 或负数,将返回

关于string的成员函数substr

在LKSNAPSHOT.cpp中解析接收串口的字符串时有一句: string cmd = msg.substr(cmdstr.length()+1,cmdstr.length()-cmdstr.length()-1): 怀疑substr的参数写错了,然后查到相关资料,发现当长度大于字符串的长度或者小于0时,其默认至字符串末尾,因此该行语句能正常工作. 具体的说法如下: 这个函数的原型是substr(size_type off,size_type count) 第一个参数表示在string的cha

sqlite 截取字符串函数substr

函数:substr(string string,num start,num length) 用法: string为字符串: start为起始位置:字符串的第一个字符的位置为1,不是从0开始计算 length为长度. 例子: 假设表table1 mark 1000 1000 0001 0002 select  mark from table1 where  substr(mark,1,2)='00' 结果集如下: mark 0001 0002 编者注: Substring()函数,经过测试,并不适

JS学习之字符串截取函数substr()与substring()的区别

比较简单,直接上代码 1 var testString="-1-2-3-4-5-6-7-"; 2 //从(第一个参数+1)的位置开始的长度为第二个参数的字符串 3 var result= testString.substr(2,4); 4 alert(result); //输出结果为:-2-3 5 //从(第一个参数+1)的位置直到第二个参数的位置的元素的字符串 6 var result1=testString.substring(1,6); 7 //alert(result1); /