php字符串截取的3个简单方法
发布:smiling 来源: PHP粉丝网 添加日期:2023-10-25 17:54:41 浏览: 评论:0
这篇文章主要给大家介绍了关于php字符串截取的3个简单方法,字符串的截取php中有非常多的字符串处理函数,其中就有字符串截取函数,文中通过实例代码介绍的非常详细,需要的朋友可以参考下。
一、strstr获取指定字符串之后或之前所有字符
1、使用 strstr("原始字符","指定的字符",布尔值)
布尔值为可选,为 true 返回第一次出现之前的字符串部分,默认为false 返回 返回第一次出现之前的字符串部分 strchr与strstr一样,strstr不区分大小写。
- echo strstr("欢迎来到我们的官方网站","官方");
- //输出结果:官方网站
- echo strstr("欢迎来到我们的官方网站","官方",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("原始字符",开始截取的位置 ,截取的字符长度)
- echo substr("Welcome to our official website",5);
- //输出结果: me to our official website
- echo substr("Welcome to our official website",5,2);
- //输出结果: me
- echo substr("Welcome to our official website",-5); //从右至左截取5个字符
- //输出结果: bsite
该方法截取中文字符时会出现问题,一个汉字占用三个字节
三、使用mb_substr()函数取字符串中的某部分 (中文截取推荐)
mb_substr("原始字符",开始截取的位置 ,截取的字符长度,"字符串编码") 该方法与substr类似多了个字符串编码选取,解决了截取中文字符出错得问题。(必须设置截取长度)
echo mb_substr("欢迎来到我们的官方网站",5,3,"utf-8"); //第5个字符开始,截取三个字符
//输出结果:们的官
补充知识:PHP substr()截取字符串详解
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 位置开始直到字符串的结尾。
【示例】使用 substr() 函数,截取指定长度的字符串。
- <?php
- $str = 'http://c.biancheng.net/php/';
- echo substr($str, 7).'<br>';
- echo substr($str, -5).'<br>';
- echo substr($str, 7, 15).'<br>';
- echo substr($str, 7, -5).'<br>';
- echo substr($str, -20, -5).'<br>';
- echo substr($str, -20, 15).'<br>';
- var_dump(substr($str, 30));
- echo '<br>';
- var_dump(substr($str, 7, 0));
- ?>
运行结果如下:
c.biancheng.net/php/
/php/
c.biancheng.net
c.biancheng.net
c.biancheng.net
c.biancheng.net
bool(false)
string(0) ""
substr() 函数对英文的处理是没有任何问题的,但是在开发中我们往往是处理中文字符比较多,substr() 函数虽然也能处理中文,但是不是很完美。
Tags: php字符串截取
- 上一篇:如何解决PHPExcel不兼容php7.4版本
- 下一篇:最后一页
相关文章
- ·php轻松实现中英文混排字符串截取(2021-01-15)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)