PHP字符串截取函数:substr()使用技巧
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()函数,这样会降低程序的运行效率。
