php字符串截取的3个简单方法

 更新时间:2023年07月07日 10:34:16   作者:永远的WEB小白  
这篇文章主要给大家介绍了关于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() 函数虽然也能处理中文,但是不是很完美。

总结

到此这篇关于php字符串截取的3个简单方法的文章就介绍到这了,更多相关php字符串截取内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PHP中uploaded_files函数使用方法详解

    PHP中uploaded_files函数使用方法详解

    PHP uploaded_files函数的功能非常强大,希望通过这篇文章中介绍的内容能够帮助我们解决相关问题,提高我们对PHP语言的了解程度。
    2011-03-03
  • PHP实现简单的新闻发布系统实例

    PHP实现简单的新闻发布系统实例

    这篇文章主要介绍了PHP实现简单的新闻发布系统,涉及php实现新闻发布系统的sql查询、插入、更新等完整操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • vs中通过剪切板循环来循环粘贴不同内容

    vs中通过剪切板循环来循环粘贴不同内容

    只要按Ctrl+Shift+V键,就可以在过去剪切或复制到剪切板上的20条内容间进行循环粘贴,太帅了哈哈!
    2011-04-04
  • 用vscode运行php的图文详解

    用vscode运行php的图文详解

    这篇文章给大家介绍了使用vscode运行php的操作步骤,文中通过图文结合的方式介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-01-01
  • PHP生成唯一的促销/优惠/折扣码(附源码)

    PHP生成唯一的促销/优惠/折扣码(附源码)

    每一个电子商务网站,现在有一种或多种类型的优惠/折扣/优惠券系统,给大家分享一下如何在PHP生成唯一的促销/折扣码;因此,今天将讨论这样一个优惠码的实现过程,需要了解的朋友可以参考下
    2012-12-12
  • php中的三元运算符使用说明

    php中的三元运算符使用说明

    今天一个网友在群里发了个题目不难,但是可能会错,大家可以看看啊。
    2011-07-07
  • 浅析php面向对象public private protected 访问修饰符

    浅析php面向对象public private protected 访问修饰符

    本篇文章是对php面向对象public private protected 访问修饰符进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php随机生成数字字母组合的方法

    php随机生成数字字母组合的方法

    这篇文章主要介绍了php随机生成数字字母组合的方法,实例分析了php生成随机数及随机字母的相关技巧与用法,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • Zend Guard使用指南及问题处理

    Zend Guard使用指南及问题处理

    这篇文章主要介绍了Zend Guard使用指南及问题处理,需要的朋友可以参考下
    2015-01-01
  • php数组合并array_merge()函数使用注意事项

    php数组合并array_merge()函数使用注意事项

    array_merge()函数在php中是对数组进行合并的,可以把多个数组合成一个数组,并且不改变原数组(www.111cn.net)的值了,但今天我在使用array_merge合并数组时碰到几个小细节上的问题,下面我举例子给各位朋友看看
    2014-06-06

最新评论