欢迎访问宙启技术站
智能推送

PHP中的substr()函数:常见用法和示例。

发布时间:2023-06-23 16:07:56

substr()函数是PHP中常用的字符串处理函数,用于从一个字符串中获取指定长度的子串。它的语法如下:

substr(string $string, int $start, int|null $length=null):string|false

其中,$string是原始字符串,$start是子串的起始位置,$length是子串的长度。如果$length是null或者未提供,则将返回从$start位置到字符串末尾的所有字符。如果$start是负数,则表示从右往左计算位置,比如$start为-2表示从字符串末尾倒数第二个字符开始。如果指定的$start位置不在字符串的有效范围内,则函数会返回false。

以下是substr()函数的一些常见用法和示例:

1. 获取字符串中的一段子串

如下代码可以从字符串中提取从第5个字符开始的长度为10的子串:

$str = "This is a string.";
$substring = substr($str, 4, 10);
echo $substring; // 输出 "is a stri"

2. 获取字符串中的最后几个字符

可以使用负数来表示从右往左计算位置。下面的例子中获取了字符串中最后5个字符:

$str = "This is a string.";
$lastChars = substr($str, -5);
echo $lastChars; // 输出 "ring."

3. 检查字符串是否以指定子串开头或结尾

可以使用substr()函数来判断一个字符串是否以指定子串开头或结尾。注意,这里要将$length设为指定子串的长度。如下代码可以检查一个字符串是否以"Hello"开头:

$str = "Hello World!";
$isStartWithHello = substr($str, 0, 5) === "Hello";
echo $isStartWithHello; // 输出 "1"

下面的代码可以检查一个字符串是否以"!"结尾:

$str = "Hello World!";
$isEndWithExclamationMark = substr($str, -1) === "!";
echo $isEndWithExclamationMark; // 输出 "1"

4. 截断字符串

可以使用substr()函数将字符串截断为指定长度。如下代码将一个字符串截断为长度为5的子串:

$str = "This is a long string.";
$truncatedStr = substr($str, 0, 5); // 只保留前5个字符
echo $truncatedStr; // 输出 "This "

需要注意的是,在截断字符串时,如果截断位置正好在一个多字节字符内部,可能会导致字符串被截断为无效的字符,从而产生乱码。因此在处理UTF-8编码的字符串时,建议使用mb_substr()函数来替代substr()函数。