php字符串截取的3个简单方法.docx
第
php字符串截取的3个简单方法
目录一、strstr获取指定字符串之后或之前所有字符1、使用strstr(原始字符,指定的字符,布尔值)二、substr函数截取字符串中的某部分1、substr或指定字符串最后一次出现之前的内容2、substr或指定字符串最后一次出现之后的内容3、substr(原始字符,开始截取的位置,截取的字符长度)三、使用mb_substr()函数取字符串中的某部分(中文截取推荐)补充知识:PHPsubstr()截取字符串详解总结
一、strstr获取指定字符串之后或之前所有字符
1、使用strstr(原始字符,指定的字符,布尔值)
布尔值为可选,为true返回第一次出现之前的字符串部分,默认为false返回返回第一次出现之前的字符串部分strchr与strstr一样,strstr不区分大小写。
echostrstr(欢迎来到我们的官方网站,官方);
//输出结果:官方网站
echostrstr(欢迎来到我们的官方网站,官方,true);
//输出结果:欢迎来到我们的
该方法输出指定字符之后的内容时会包含指定的字符串一起输出
二、substr函数截取字符串中的某部分
1、substr或指定字符串最后一次出现之前的内容
$test=/home/test/test.txt;
$result=substr($test,0,strrpos($test,/));
echo$result;
//输出结果:/home/test
2、substr或指定字符串最后一次出现之后的内容
$number=/home/test/test.txt;
$result=substr($number,strripos($number,/)+1);
echo$result;
//输出结果:test.txt
3、substr(原始字符,开始截取的位置,截取的字符长度)
echosubstr(Welcometoourofficialwebsite,5);
//输出结果:metoourofficialwebsite
echosubstr(Welcometoourofficialwebsite,5,2);
//输出结果:me
echosubstr(Welcometoourofficialwebsite,-5);//从右至左截取5个字符
//输出结果:bsite
该方法截取中文字符时会出现问题,一个汉字占用三个字节
三、使用mb_substr()函数取字符串中的某部分(中文截取推荐)
mb_substr(原始字符,开始截取的位置,截取的字符长度,字符串编码)该方法与substr类似多了个字符串编码选取,解决了截取中文字符出错得问题。(必须设置截取长度)
echomb_substr(欢迎来到我们的官方网站,5,3,utf-8);//第5个字符开始,截取三个字符
//输出结果:们的官
补充知识:PHPsubstr()截取字符串详解
substr()函数可以从字符串的指定位置截取一定长度的字符,这段被截取的字符可称为子串或者子字符串,其语法格式如下:
substr($string,$start[,$length])
参数说明如下:
$string:需要截取的字符串,该字符串至少含有一个字符;$start:截取字符串的起始位置;如果$start是非负数,那么字符串将从$string的第$start个字符处开始截取,$start从0开始计算。例如在字符串abcdef中,在0位置的字符是a,在2位置的字符串是c等等;如果$start是负数,那么字符串将从$string结尾处向前数第$start个字符开始,$start从-1开始计算。例如在字符串abcdef中,在-1位置的字符是f,在-3位置的字符是d等等;如果$string的长度小于$start,将返回FALSE。$length:可选参数,表示截取字符串的长度。如果$length为正数,那么字符串将从$start位置向后截取最多$length个字符;如果$length为负数,那么$string末尾的$length个字符将会被省略(若$start是负数则从字符串尾部算起);如果$length的值为0,FALSE或NULL,那么将返回一个空字符串;如果没有提供$length,那么返回的子字符串将从$start位置开始直