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

2023-05-11 16:05:40 浏览数 (3)

在PHP中substr()函数和mb_substr()函数可以指定和截取字符串的一部分。

在本文中我们将详细的来讲解下如何使用 substrmb_substr 截取字符串,以及substr()函数和mb_substr()函数有什么区别?

使用substr()函数截取字符 substr是一个可以获取部分指定字符串的函数。例如有字符串abcd。

如果指定起始位置为0,则可以从a中获取指定字符数的字符串,如果指定2则可以从c中获取指定字符数的字符串。

我们实际来看下如何使用substr

代码语言:javascript复制
<?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()

代码语言:javascript复制
<?php
$str = "absde";
echo mb_substr($str,1,3);
?>

输出结果:

代码语言:javascript复制
bcd

获取中文字符的方式

代码语言:javascript复制
<?php
$str = "你好啊哈哈哈";
echo mb_substr($str,1,3,"UTF-8");
?>

输出结果

代码语言:javascript复制
好啊哈

1 人点赞