600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > php字符串截取substr php字符串处理函数:substr mb_substr

php字符串截取substr php字符串处理函数:substr mb_substr

时间:2020-03-17 22:44:04

相关推荐

php字符串截取substr php字符串处理函数:substr mb_substr

字符串处理在实际应用中会频繁的用到,熟练掌握字符串截取技巧可以简化程序开发中很多代码处理。

substr—返回字符串的子串

stringsubstr(string$string,int$start[,int$length])

返回字符串string由start和length参数指定的子字符串。

参数说明:

string输入字符串。

start如果start是非负数,返回的字符串将从string的start位置开始,从0开始计算。例如,在字符串"abcdef"中,在位置0 字符是"a",位置2的字符串是"c"等等。

如果start是负数,返回的字符串将从string结尾处向前数第start个字符开始。

如果string的长度小于或等于start,将返回FALSE。

length如果提供了正数的 length,返回的字符串将从start处开始最多包括length个字符(取决于string的长度)。

如果提供了负数的length,那么string末尾处的许多字符将会被漏掉(若start是负数则从字符串尾部算起)。如果 start 不在这段文本中,那么将返回一个空字符串。

如果提供了值为0,FALSE或NULL的length,那么将返回一个空字符串。

如果没有提供length,返回的子字符串将从start位置开始直到字符串结尾。

示例代码:

echosubstr("abcdef",2);// 返回 "cdef"echo'

';echosubstr("abcdef",-3);// 返回 "def" 从倒数第二个字符开始取 直到结尾echo'

';echosubstr("abcdef",-2,2);// 返回 "ef" 从倒数第二个字符开始取2个字符echo'

';echosubstr("abcdef",0,-2);// 返回 "abcd" 长度为负数,截取掉从结尾开始的1个字符echo'

';echosubstr("abcdef",2,-1);// 返回 "cde"echo'

';echosubstr("abcdef",4,-4);// 返回 ""echo'

';echosubstr("abcdef",-3,-1);// 返回 "de"

substr用于截取字符串,如果遇到中文字符进行截取时,输出的结果可能不太是我们想要的(中文字符截取容易出现乱码),这时候就要使用另一个加强版的字符串截取函数:mb_substr()。

mb_substr—获取字符串的部分(PHP 4 >= 4.0.6, PHP 5, PHP 7)

stringmb_substr(string$str,int$start[,int$length=NULL[,string$encoding=mb_internal_encoding()]])

根据字符数执行一个多字节安全的substr()操作。位置是从str的开始位置进行计数。第一个字符的位置是0。第二个字符的位置是1,以此类推。

参数说明:

str从该string中提取子字符串。

startstr中要使用的第一个字符的位置。

lengthstr中要使用的最大字符数。 If omitted or NULL is passed, extract all characters to the end of the string.

encodingencoding参数为字符编码。如果省略,则使用内部字符编码。

返回值mb_substr() 函数根据 start 和 length 参数返回 str 中指定的部分。

示例代码:

$str="贝加尔湖畔 在我的怀里 abcde 在你的眼里那里春风沉醉 那里绿草如茵月光把爱恋 洒满了湖面两个人的篝火 照亮整个夜晚多少年以后 如云般游走那变换的脚步 让我们难牵手这一生一世 有多少你我被吞没在月光如水的夜里多想某一天 往日又重现我们流连忘返 在贝加尔湖畔多少年以后 往事随云走那纷飞的冰雪容不下那温柔这一生一世 这时间太少不够证明融化冰雪的深情就在某一天 你忽然出现你清澈又神秘 在贝加尔湖畔你清澈又神秘 像贝加尔湖畔";echomb_substr($str,0,10,'utf8'); //贝加尔湖畔 在我的怀里 abc郭

注意:当设置utf8编码后,中文字符串一个汉字长度为1,一个空格长度也为1

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。