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

PHP字符串截取函数:substr()使用技巧

发布时间:2023-06-08 11:56:41

PHP的substr()函数是字符串截取的常用函数,可以根据给定的起始位置和长度截取字符串,常用语提取字符串的一部分。

常规用法:

substr(string $string , int $start [, int $length = null ] ) : string

其中,第一个参数$string是待截取的字符串,第二个参数$start是起始位置(从0开始计数),第三个参数$length是截取的长度(可选,默认截取到字符串末尾),返回值为截取后的字符串。

下面是一些substr()的常用技巧:

1. 截取部分字符串

例如,我们有一个字符串“Hello, World!”,我们想要提取其中的“Hello”:

$string = "Hello, World!";

$start = 0;  // 起始位置

$length = 5;  // 截取长度

$new_string = substr($string, $start, $length);  // 截取后的字符串为“Hello”

2. 截取字符串末尾

如果我们只想提取字符串的末尾,可以不指定截取长度:

$string = "Hello, World!";

$start = 7;  // 起始位置

$new_string = substr($string, $start); // 截取后的字符串为“World!”

3. 倒序截取字符串

有时候我们需要从字符串的末尾开始截取,可以使用负数表示起始位置:

$string = "Hello, World!";

$start = -6;  // 从倒数第6个位置开始截取

$length = 5;  // 截取长度

$new_string = substr($string, $start, $length);  // 截取后的字符串为“World”

4. 提取文件名后缀

常用于文件上传后返回的文件名,通常需要提取文件名和后缀名:

$file_name = "example.png";

$start = strrpos($file_name, ".") + 1;  // 找到“.”的位置并向下移一位

$new_string = substr($file_name, $start); // 提取后缀名,例如“png”

5. 字符串省略

当字符串过长且无法完全展示时,可以使用substr()函数将其截取并添加省略号,常用于新闻标题等场景:

$string = "大街上有个少年,挎着吉它唱着歌,哇...";

$max_length = 20;  // 设置最大展示字符数

if (mb_strlen($string) > $max_length) {

    $new_string = substr($string, 0, $max_length) . "..."; // 添加省略号

} else {

    $new_string = $string; // 不需要截取

}

以上是对substr()函数的常见使用技巧,大家可以灵活运用到自己的开发中去。请注意,除非有必要,否则不要频繁使用substr()函数,这样会降低程序的运行效率。