深入剖析substr函数的用法:从字符串中截取想要的内容

作者:石家庄麻将开发公司 阅读:40 次 发布时间:2023-06-29 17:45:34

摘要:在日常的开发中,经常需要从字符串中截取出想要的内容,这时候,字符串函数substr就可以派上用场了。substr函数是一种常用的字符串截取函数,它可以从指定的字符串中截取出一段子字符串,常用于处理字符串中的关键信息,或将长字符串切割成小块进行处理。下面我们来深入剖析s...

在日常的开发中,经常需要从字符串中截取出想要的内容,这时候,字符串函数substr就可以派上用场了。

深入剖析substr函数的用法:从字符串中截取想要的内容

substr函数是一种常用的字符串截取函数,它可以从指定的字符串中截取出一段子字符串,常用于处理字符串中的关键信息,或将长字符串切割成小块进行处理。下面我们来深入剖析substr函数的用法。

一、substr函数的基本用法

substr函数的基本语法如下所示:

string substr (int $start, int $length)

其中,$start参数表示开始截取位置的索引,$length参数是所要截取子字符串的长度。

如果只传入$start参数,则截取起点为$start索引,长度则默认截取到字符串尾部,即从$start到字符串最后一个字符的子字符串。

如果$start参数为正数,则从左侧开始计数,即从字符串开头往后数;

如果$start参数为负数,则从右侧开始计数,即从字符串结尾往前数。

如果$length参数为正数,则截取子字符串长度为$length;

如果$length参数为负数,则表示截取到字符串结尾之前的$length个字符。

如果$length参数的长度大于被截取字符串的长度,则截取到字符串结尾。

substr函数的返回值是被截取的子字符串。

下面我们来看一些例子,更好地理解substr函数的用法。

示例一:

$str = 'abcdefg';

//从第3个字符(c)开始截取到字符串结尾

echo substr($str, 2);

//输出结果:cdefg

//从第3个字符(c)开始截取4个字符

echo substr($str, 2, 4);

//输出结果:cdef

示例二:

$email = 'john.doe@example.com';

//从@符号(不包含)往后截取所有字符

echo substr($email, strpos($email, '@'));

//输出结果:@example.com

二、substr函数的应用场景

substr函数常用于从字符串中提取关键信息。下面列举一些在实际开发中常见的应用场景。

1、截取文件后缀名

在文件上传的应用场景中,我们可能需要对上传的文件进行格式校验,这时候就需要截取文件的后缀名,然后进行比对。

假设我们上传的文件名为“test.jpg”,这时候我们可以通过substr函数,从字符串中截取出文件后缀名,代码如下所示:

$file = 'test.jpg';

$file_ext = substr($file, strrpos($file, '.') + 1);

echo $file_ext;

这里用到了strrpos函数,用于获取字符串中最后一个"."的位置,它是从右往左查找的。

2、截取用户名

在用户登录模块中,我们一般需要对用户输入的用户名进行校验,例如判断用户名是否符合格式规范等。这时候就需要从字符串中截取出用户名,代码如下所示:

$username = 'john.doe';

//截取用户名

if (substr_count($username, '.') > 0) {

$username = substr($username, 0, strpos($username, '.'));

}

echo $username;

3、截取URL中的参数

在访问某些页面时,我们可能需要将一些参数传递给服务器处理,这时候可以将参数放在URL中,然后在服务器端通过$_GET超全局变量获取。

例如访问以下URL时:

http://www.example.com/index.php?name=john&age=18

可以通过substr函数,从URL中截取出参数部分,代码如下所示:

$url = 'http://www.example.com/index.php?name=john&age=18';

//截取URL中的参数

$query_string = substr($url, strpos($url, '?') + 1);

echo $query_string;

4、截取字符串中的数字

在某些应用场景中,我们需要将字符串中的数字提取出来,例如截取字符串中的电话号码、身份证号码等。

假设我们需要从以下字符串中提取出"996"这个数字,代码如下所示:

$str = 'work 996, life 365';

//提取字符串中的数字

$number = substr(preg_replace('/[^0-9]/', '', $str), 0, 3);

echo $number;

这里用到了正则表达式,先用preg_replace将字符串中非数字字符替换为空字符串,再通过substr函数获取前三个数字。

三、substr函数的注意事项

1、在使用substr函数时,要注意$start和$length参数的传入值是否正确,避免截取的子字符串不完整。

2、$start参数可以为负数,但是$length参数不支持负数。

3、substr函数天生支持中文截取。

4、substr函数并不影响原始字符串,截取后的子字符串作为返回值返回,需要接收并赋值。

四、总结

substr函数是一种非常常用的字符串截取函数,可以从指定的字符串中截取出所需要的子字符串,常见应用于文件操作、用户登录和数据处理等场景。在使用substr函数时,需要注意细节和各参数的用法,以确保截取的子字符串是正确的。

  • 原标题:深入剖析substr函数的用法:从字符串中截取想要的内容

  • 本文链接:https:////zxzx/20995.html

  • 本文由深圳飞扬众网小编,整理排版发布,转载请注明出处。部分文章图片来源于网络,如有侵权,请与飞扬众网联系删除。
  • 微信二维码

    CTAPP999

    长按复制微信号,添加好友

    微信联系

    在线咨询

    点击这里给我发消息QQ客服专员


    点击这里给我发消息电话客服专员


    在线咨询

    免费通话


    24h咨询☎️:166-2096-5058


    🔺🔺 棋牌游戏开发24H咨询电话 🔺🔺

    免费通话
    返回顶部