PHP字符串中抽取子串操作实例分析


Posted in PHP onJune 22, 2019

本文实例讲述了PHP字符串中抽取子串操作。分享给大家供大家参考,具体如下:

问题

希望从字符串的某个特定位置开始抽取这个字符串的一部分。例如,对于输入到一个表单的用户名,想要得到这个用户名的前8个字符。

解决

使用substr()选择子串

$substring = substr($string,$start,$length);
$username = substr($_GET['username'],0,8);

讨论

1.如果$strart$length都是正数,substr()会返回字符串从$start开始的$lenfth个字符。字符的第一个位置为0。

echo substr('I Love PHP!',3,5);

ove P

如果忽略$length,substr()会返回从$strart到原字符串末尾的子串。

起始位置为正数,未指定长度

echo substr('I Love PHP!',3);

ove PHP!

如果$start大于字符串的长度,substr()将会返回false

如果$start$length 超过了字符串末尾,substr()将返回从$start开始到字符串末尾的所有字符

echo substr('I Love PHP!',3,9);

ove PHP!

如果 $start 为负数, substr() 会从字符串末尾倒数来确定子串从哪里开始

echo substr('I Love PHP!',-4);

PHP!

echo substr('I Love PHP!',-4,3);

PHP

如果 $start 值为负数,而且超过了字符串的开始位置, substr() 就会把 $start 当作 0 来处理

如果 $length 为负数, substr() 会从字符串末尾倒数来确定到哪里结束

echo substr('I Love PHP!',3,-1);

Love PHP

echo substr('I Love PHP!',-4,-2);

PH

参见

substr() 的有关文档

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php数据库连接
Oct 09 PHP
PHP安装攻略:常见问题解答(二)
Oct 09 PHP
php SQL Injection with MySQL
Feb 27 PHP
php开发留言板的CRUD(增,删,改,查)操作
Apr 19 PHP
使用session判断用户登录用户权限(超简单)
Jun 08 PHP
php读取本地文件常用函数(fopen与file_get_contents)
Sep 09 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
Apr 14 PHP
PHP多进程编程总结(推荐)
Jul 18 PHP
PHP中的多种加密技术及代码示例解析
Oct 20 PHP
PHP仿微信发红包领红包效果
Oct 30 PHP
php  单例模式详细介绍及实现源码
Nov 05 PHP
PHP中关键字interface和implements详解
Jun 14 PHP
微信公众号之主动给用户发送消息功能
Jun 22 #PHP
Yii 使用intervention/image拓展实现图像处理功能
Jun 22 #PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
Jun 22 #PHP
PHP中strtr与str_replace函数运行性能简单测试示例
Jun 22 #PHP
PHP判断函数是否被定义的方法
Jun 21 #PHP
php用户名的密码加密更安全的方法
Jun 21 #PHP
php常用字符串查找函数strstr()与strpos()实例分析
Jun 21 #PHP
You might like
PHP程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
php中使用redis队列操作实例代码
2013/02/07 PHP
PHP实现多关键字加亮功能
2016/10/21 PHP
PHP中时间加减函数strtotime用法分析
2017/04/26 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
jQuery EasyUI API 中文文档 - EasyLoader 加载器
2011/09/29 Javascript
5个最佳的Javascript日期处理类库分享
2012/04/15 Javascript
jquery实现图片左右间隔滚动特效(可自动播放)
2013/05/08 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
Javascript复制实例详解
2016/01/28 Javascript
浅谈JS继承_借用构造函数 & 组合式继承
2016/08/16 Javascript
jquery控制页面的展开和隐藏实现方法(推荐)
2016/10/15 Javascript
基于JavaScript实现新增内容滚动播放效果附完整代码
2017/08/24 Javascript
又拍云 Node.js 实现文件上传、删除功能
2018/10/28 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
js+canvas实现刮刮奖功能
2020/09/13 Javascript
vue用ant design中table表格,点击某行时触发的事件操作
2020/10/28 Javascript
[06:13]DOTA2进化论(修改版)
2013/10/08 DOTA
python调用java模块SmartXLS和jpype修改excel文件的方法
2015/04/28 Python
python实现逆波兰计算表达式实例详解
2015/05/06 Python
python非递归全排列实现方法
2017/04/10 Python
利用python获取Ping结果示例代码
2017/07/06 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
Python实现根据日期获取当天凌晨时间戳的方法示例
2019/04/09 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
python列表每个元素同增同减和列表元素去空格的实例
2019/07/20 Python
python多线程与多进程及其区别详解
2019/08/08 Python
python3.6中anaconda安装sklearn踩坑实录
2020/07/28 Python
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
中学生关于梦想的演讲稿
2014/08/22 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
详解Java实践之建造者模式
2021/06/18 Java/Android
Java 实战项目之家居购物商城系统详解流程
2021/11/11 Java/Android
一文搞懂MySQL索引页结构
2022/02/28 MySQL