PHP 查找字符串常用函数介绍


Posted in PHP onJune 07, 2012

一、strstr — 查找字符串的首次出现

string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
注1:$haystack是当事字符串,$needle是被查找的字符串。该函数区分大小写。
注2:返回值是从needle开始到最后。
注3:关于$needle,如果不是字符串,被当作整形来作为字符的序号来使用。
注4:before_needle若为true,则返回前东西。

<?php 
$email = 'yuxiaoxiao@example.com'; 
$domain = strstr($email, '@'); 
echo $domain; // 打印 @example.com 
$user = strstr($email, '@', true); // 从 PHP 5.3.0 起 
echo $user; // 打印 yuxiaoxiao 
?>

二、stristr strstr不区分大小写的版本
三、strpos -查找字符串首次出现的位置

int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
注1:可选的 offset 参数可以用来指定从 haystack 中的哪一个字符开始查找。返回的数字位置是相对于 haystack 的起始位置而言的。
四、substr -返回字符串的子串

string substr ( string $string , int $start [, int $length ] )
$rest = substr("abcdef", -1); // 返回 "f"

注1:如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。

注2:如果 start 是负数,返回的字符串将从 string 结尾处向前数第 start 个字符开始。

注3:如果 string 的长度小于或等于 start,将返回 FALSE。

length

注4:如果提供了正数的 length,返回的字符串将从 start 处开始最多包括 length 个字符(取决于 string 的长度)。

注5:如果提供了负数的 length,那么 string 末尾处的许多字符将会被漏掉(若 start 是负数则从字符串尾部算起)。如果 start 不在这段文本中,那么将返回一个空字符串。

注6:如果提供了值为 0,FALSE 或 NULL 的 length,那么将返回一个空字符串。

注7:如果没有提供 length,返回的子字符串将从 start 位置开始直到字符串结尾。

<?php 
$rest = substr("abcdef", 0, -1); // 返回 "abcde" 
$rest = substr("abcdef", 2, -1); // 返回 "cde" 
$rest = substr("abcdef", 4, -4); // 返回 "" 
$rest = substr("abcdef", -3, -1); // 返回 "de" 
?>

五、strrchr -查找指定字符在字符串中的最后一次出现

string strrchr ( string $haystack , mixed $needle )

该函数返回 haystack 字符串中的一部分,这部分以 needle 的最后出现位置开始,直到 haystack 末尾。

六、strripos -计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写)
七、stripos -查找字符串首次出现的位置(不区分大小定)
八、strrpos -计算指定字符串在目标字符串中最后一次出现的位置

PHP 相关文章推荐
聊天室php&amp;mysql(四)
Oct 09 PHP
PHP Ajax实现页面无刷新发表评论
Jan 02 PHP
input file获得文件根目录简单实现
Apr 26 PHP
php遍历目录方法小结
Mar 10 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
Jun 13 PHP
PHP 接入微信扫码支付总结(总结篇)
Nov 03 PHP
PHP实现二维数组去重功能示例
Jan 12 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
Apr 27 PHP
PHP实践教程之过滤、验证、转义与密码详解
Jul 24 PHP
php使用imagecopymerge()函数创建半透明水印
Jan 25 PHP
PHP+Mysql分布式事务与解决方案深入理解
Feb 27 PHP
PHP 技巧 * SVG 保存为图片(分享图生成)
Apr 02 PHP
php中通过curl smtp发送邮件
Jun 05 #PHP
Smarty的配置与高级缓存技术分享
Jun 05 #PHP
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
Jun 05 #PHP
php中json_decode()和json_encode()的使用方法
Jun 04 #PHP
php安全之直接用$获取值而不$_GET 字符转义
Jun 03 #PHP
PHP版网站缓存加快打开速度的方法分享
Jun 03 #PHP
PHP仿盗链代码
Jun 03 #PHP
You might like
基于mysql的论坛(7)
2006/10/09 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
解读PHP中的垃圾回收机制
2015/08/10 PHP
php getcwd与dirname(__FILE__)区别详解
2016/09/24 PHP
Prototype Object对象 学习
2009/07/12 Javascript
跨域请求之jQuery的ajax jsonp的使用解惑
2011/10/09 Javascript
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
2013/03/25 Javascript
ajax提交表单实现网页无刷新注册示例
2014/05/08 Javascript
深入探讨javascript中的数据类型
2015/03/04 Javascript
深入探究使JavaScript动画流畅的一些方法
2015/06/30 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
2016/10/10 Javascript
JS+canvas实现的五子棋游戏【人机大战版】
2017/07/19 Javascript
vue使用axios跨域请求数据问题详解
2017/10/18 Javascript
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
Angular6使用forRoot() 注册单一实例服务问题
2019/08/27 Javascript
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
[01:01:36]Optic vs paiN 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
Django中使用celery完成异步任务的示例代码
2018/01/23 Python
python文本数据相似度的度量
2018/03/12 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
python代码 输入数字使其反向输出的方法
2018/12/22 Python
python对象销毁实例(垃圾回收)
2020/01/16 Python
LightInTheBox法国站:中国跨境电商
2020/03/05 全球购物
美国沙龙美发产品购物网站:Hair.com by L’Oreal
2020/11/09 全球购物
法律专业推荐信范文
2013/11/29 职场文书
运动会方阵口号
2014/06/07 职场文书
年终晚会活动方案
2014/08/21 职场文书
简单租房协议书(范本)
2014/10/13 职场文书
佛光寺导游词
2015/02/10 职场文书
2015婚礼主持词开场白
2015/05/28 职场文书
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/04/22 无线电
python munch库的使用解析
2021/05/25 Python
Mysql事务索引知识汇总
2022/03/17 MySQL