在PHP中substr()
函数和mb_substr()
函数可以指定和截取字符串的一部分。
在本文中我们将详细的来讲解下如何使用 substr
、mb_substr
截取字符串,以及substr()
函数和mb_substr()
函数有什么区别?
使用substr()
函数截取字符
substr
是一个可以获取部分指定字符串的函数。例如有字符串abcd。
如果指定起始位置为0,则可以从a中获取指定字符数的字符串,如果指定2则可以从c中获取指定字符数的字符串。
我们实际来看下如何使用substr
。
<?php
$str = "abcde";
echo substr($str,1);
?>
输出结果:
代码语言:javascript复制bcde
在上面的示例代码中,由于指定了 1 为起始位置,并且没有指定字符数,因此得到了从“b”到结尾的字符串。
代码语言:javascript复制<?php
$str = "abcde" ;
echo substr ($str , 1 , 3 );
?>
输出结果
代码语言:javascript复制bcd
接下来我们将起始位置1指定为字符数3,并从字符串“absde”中获取中间的3个字符。
代码语言:javascript复制<?php
$str = "AIUEO" ;
echo substr ( $str , 1 , 3 );
?>
需要注意的是即使使用相同的代码,如果字符串是中文,那么获取的字符会出现乱码。
详解php字符串截取的两种方法
使用mb_substr
函数截取字符
mb_substr
也是截取部分指定字符串的函数,但和substr
有什么区别呢?
mb_substr
除了指定起始位置和字符数外,还可以指定字符串的编码。
我们在处理中文字符串时可以使用mb_substr()
。
<?php
$str = "absde";
echo mb_substr($str,1,3);
?>
输出结果:
代码语言:javascript复制bcd
获取中文字符的方式
代码语言:javascript复制<?php
$str = "你好啊哈哈哈";
echo mb_substr($str,1,3,"UTF-8");
?>
输出结果
代码语言:javascript复制好啊哈