详解PHP用substr函数截取字符串中的某部分


Posted in PHP onDecember 03, 2016

 经常看到有新手问PHP有没有类似asp的left函数或right函数,实现截取某字符串左边或右边开始N个字符的函数。答案当然是有的。PHP中的substr函数就可以做的到,只不过PHP把二个函数合二为一了。

现在整理了一下substr函数的用法,做了几个例子以解新人之惑,高手请飘过。

我们先来看一下PHP substr函数的语法:

string substr(string string, int start, int [length])

参数string为要操作的字符串

参数start为你要截取的字符串的开始位置,若start为负数时,则表示从倒数第start开始截取length个字符

可选参数length为你要截取的字符串长度,若在使用时不指定则默认取到字符串结尾。若length为负数时,则表示从start开始向右截取到末尾倒数第length个字符的位置

起初用这个函数时可能感觉到别扭,不过你要是把PHP substr函数的语法搞懂了,那他的功能比asp中的left和right,有过之无不及,非常好用。下面我们举例来看他的用法:

1、从第4个字符开始截取到字符串末尾,类似asp中的left:

<?php $str = "www.icoa.cn"; echo substr($str,4); ?>

输出: icoa.cn

2、PHP substr函数从右边截取3个字符,类似asp中的right:

<?php $str = "www.icoa.cn"; echo substr($str,-3); ?>

输出:.cn

3、PHP substr函数从第4个字符开始截取3个字符:

<?php $str = "www.icoa.cn"; echo substr($str,4,3); ?>

输出:ico

4、有时我们知道一个字符串的开始和结尾,中间是不定长的字符,这时除了用PHP substr函数的正则外我们还可以用substr实现(当然要得到中间的字符方法有N种,在此只是举例substr的应用):

本例去掉开头4个字符和结尾3个字符,输出中间的字符串:

<?php $str = "www.icoa.cn"; echo substr($str,4,-3); ?>

输出:icoa

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
用PHP+java实现自动新闻滚动窗口
Oct 09 PHP
php 删除数组元素
Jan 16 PHP
php实现mysql同步的实现方法
Oct 21 PHP
应用开发中涉及到的css和php笔记分享
Aug 02 PHP
PHP中数组的三种排序方法分享
May 07 PHP
PHP常用的文件操作函数经典收藏
Apr 02 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
Jun 26 PHP
async和DOM Script文件加载比较
Jul 20 PHP
PHP扩展Memcache分布式部署方案
Dec 06 PHP
PHP中仿制 ecshop验证码实例
Jan 06 PHP
PHP文件系统管理(实例讲解)
Sep 19 PHP
ThinkPHP5&amp;5.1实现验证码的生成、使用及点击刷新功能示例
Feb 07 PHP
微信公众平台开发(五) 天气预报功能开发
Dec 03 #PHP
php die()与exit()的区别实例详解
Dec 03 #PHP
详解Yii2 rules 的验证规则
Dec 02 #PHP
Yii框架数据模型的验证规则rules()被执行的方法
Dec 02 #PHP
thinkPHP统计排行与分页显示功能示例
Dec 02 #PHP
thinkPHP交易详情查询功能详解
Dec 02 #PHP
php变量与数组相互转换的方法(extract与compact)
Dec 02 #PHP
You might like
ThinkPHP实现多数据库连接的解决方法
2014/07/01 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
jquery $.ajax各个事件执行顺序
2010/10/15 Javascript
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
分享一个我自己写的ToolTip提示插件(附源码)
2013/01/20 Javascript
点击弹出层外区域关闭弹出层jquery特效示例
2013/08/25 Javascript
js的隐含参数(arguments,callee,caller)使用方法
2014/01/28 Javascript
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
整理Javascript流程控制语句学习笔记
2015/11/29 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
JavaScript实现鼠标点击导航栏变色特效
2017/02/08 Javascript
Javascript实现的StopWatch功能示例
2017/06/13 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
JS实现从对象获取对象中单个键值的方法示例
2019/06/05 Javascript
JS加载解析Markdown文档过程详解
2020/05/19 Javascript
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
python操作mongodb根据_id查询数据的实现方法
2015/05/20 Python
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
在PyCharm下打包*.py程序成.exe的方法
2018/11/29 Python
Python一个简单的通信程序(客户端 服务器)
2019/03/06 Python
python实现单链表的方法示例
2019/09/03 Python
Pymysql实现往表中插入数据过程解析
2020/06/02 Python
python开根号实例讲解
2020/08/30 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
怎样实现H5+CSS3手指滑动切换图片的示例代码
2019/05/05 HTML / CSS
法国创作个性化T恤衫和其他定制产品平台:Tostadora
2018/04/08 全球购物
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
智能室内花园:Click & Grow
2021/01/29 全球购物
介绍一下Linux文件的记录形式
2013/09/29 面试题
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
2012/05/30 面试题
大学毕业感言
2014/01/10 职场文书
2015年乡镇党务公开工作总结
2015/05/19 职场文书
薪资证明范本
2015/06/19 职场文书
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
2022/04/06 Vue.js