详解php字符串截取的两种方法

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);
?>

输出结果:

bcde

在上面的示例代码中,由于指定了 1 为起始位置,并且没有指定字符数,因此得到了从“b”到结尾的字符串。

<?php
	$str = "abcde" ; 
	echo substr ($str , 1 , 3 );
?>

输出结果

bcd

接下来我们将起始位置1指定为字符数3,并从字符串“absde”中获取中间的3个字符。

<?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);
?>

输出结果:

bcd

获取中文字符的方式


<?php
$str = "你好啊哈哈哈";
echo mb_substr($str,1,3,"UTF-8");
?>

输出结果

好啊哈

最后编辑于:2022/09/01作者: 烽烟无限