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中使用与Perl兼容的正则表达式
Nov 26 PHP
IIS+PHP+MySQL+Zend配置 (视频教程)
Dec 13 PHP
php开发工具之vs2005图解
Jan 12 PHP
攻克CakePHP系列三 表单数据增删改
Oct 22 PHP
Php获取金书网的书名的实现代码
Jun 11 PHP
一些php项目中比较通用的php自建函数的详解
Jun 06 PHP
php比较两个绝对时间的大小
Jan 31 PHP
php中static 静态变量和普通变量的区别
Dec 01 PHP
PHP实现的mysql主从数据库状态检测功能示例
Jul 20 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
微信推送功能实现方式图文详解
Jul 12 PHP
ThinkPHP 5.1 跨域配置方法
Oct 11 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
PHP数据库调用类调用实例(详细注释)
2012/07/12 PHP
基于PHP编程注意事项的小结
2013/04/27 PHP
thinkphp多层MVC用法分析
2015/12/30 PHP
php源码 fsockopen获取网页内容实例详解
2016/09/24 PHP
PHP数据的提交与过滤基本操作实例详解
2016/11/11 PHP
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
Package.js  现代化的JavaScript项目make工具
2012/05/23 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
2015/03/25 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
javascript实现checkbox复选框实例代码
2016/01/10 Javascript
jQuery中Find选择器用法示例
2016/09/21 Javascript
JS给Array添加是否包含字符串的简单方法
2016/10/29 Javascript
JavaScript数据结构链表知识详解
2016/11/21 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
JavaScript 跨域之POST实现方法
2018/05/07 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
JS运算符优先级与表达式示例详解
2020/09/04 Javascript
解决vue-cli输入命令vue ui没效果的问题
2020/11/17 Javascript
Python编程中的文件读写及相关的文件对象方法讲解
2016/01/19 Python
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
2016/03/30 Python
详解python执行shell脚本创建用户及相关操作
2019/04/11 Python
python版DDOS攻击脚本
2019/06/12 Python
在Django admin中编辑ManyToManyField的实现方法
2019/08/09 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
python中Django文件上传方法详解
2020/08/05 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
Moda Italia荷兰:意大利男士服装
2019/08/31 全球购物
美国沙龙美发产品购物网站:Hair.com by L’Oreal
2020/11/09 全球购物
什么时候需要进行强制类型转换
2016/09/03 面试题
总经理秘书岗位职责
2014/03/17 职场文书
创先争优一句话承诺
2014/05/29 职场文书
党的群众路线教育实践活动整改落实情况自查报告
2014/10/28 职场文书
2014年小学图书室工作总结
2014/12/09 职场文书
幼师辞职信怎么写
2015/02/27 职场文书
vue实力踩坑之push当前页无效
2022/04/10 Vue.js
Go获取两个时区的时间差
2022/04/20 Golang