PHP 截取(提取)字符串中所需内容使用不同函数的几种解决方法

在采集或某些情况下,需要字符串中的部分内容,需要截取(提取)指定内容,可以通过以下多个函数达到想要的效果。

strstr函数获取指定字符串之后或之前所有字符:

函数格式: strstr(“原始字符”,”指定的字符”,布尔值)

布尔值为可选,为 true 返回第一次出现之前的字符串部分,默认为false 返回 返回第一次出现之前的字符串部分 strchr与strstr一样,strstr不区分大小写。效果如下:

echo strstr("欢迎来到ZHUEi官网网站","官方");
//输出结果:官方网站
  
echo strstr("欢迎来到ZHUEi官方网站","官方",true);
//输出结果:欢迎来到ZHUEi

substr函数截取字符串中的某部分:(详细了解查看:substr函数

substr或指定字符串最后一次出现之前的内容,下面演示截取字符串中最后一个“/”符号之前的内容:

$test = '/home/test/test.txt';
$result = substr($test,0,strrpos($test,"/"));
echo $result;
//输出结果:/home/test

substr或指定字符串最后一次出现之后的内容,下面演示截取字符串中最后一个“/”符号之后的内容:

$number = '/home/test/test.txt';
$result = substr($number,strripos($number,"/")+1);
echo $result;
//输出结果:test.txt

substr函数也可以对指定位置进行截取

函数格式:substr(“原始字符”,开始截取的位置 ,截取的字符长度)

下列分别演示:截取前5个字符;截取第5个字符后的2个字符;截取最后5个字符

echo substr("Welcome to our ZHUEi official website",5);
//输出结果: me to our official website
echo substr("Welcome to our ZHUEi official website",5,2);
//输出结果: me
echo substr("Welcome to our ZHUEi official website",-5); //从右至左截取5个字符
//输出结果: bsite

注意:该方法截取中文字符时会出现问题,一个汉字占用三个字节

mb_substr()函数截取字符串中的某部分 (截取中文字符串时推荐使用mb_substr()函数,详细了解查看:mb_substr()函数

函数格式:mb_substr(“原始字符”,开始截取的位置 ,截取的字符长度,”字符串编码”)

mb_substr函数与substr函数类似,但多了一个字符串编码选取,解决了截取中文字符出错得问题。(截取的长度必须设置),演示效果如下:

echo mb_substr("欢迎来到我们的官方网站",5,3,"utf-8"); //第5个字符开始,截取三个字符
//输出结果:们的官

如果你发现错误或有其他方法,请给 www.zhuei.cn 留言,我们会尽快更新本文!