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中文本数据翻页(留言本翻页)
Oct 09 PHP
php下封装较好的数字分页方法
Nov 23 PHP
php接口与接口引用的深入解析
Aug 09 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
Jul 22 PHP
在Win7 中为php扩展配置Xcache
Oct 08 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
Oct 16 PHP
php中关于长度计算容易混淆的问题分析
May 27 PHP
Adnroid 微信内置浏览器清除缓存
Jul 11 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
Sep 28 PHP
Yii框架实现对数据库的CURD操作示例
Sep 03 PHP
TP5框架实现上传多张图片的方法分析
Mar 29 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 三维饼图的实现代码
2008/09/28 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
2014/05/04 PHP
Yii2 assets清除缓存的方法
2016/05/16 PHP
js类中获取外部函数名的方法
2007/08/19 Javascript
JS 图片缩放效果代码
2010/06/09 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
使用javascript做的一个随机点名程序
2014/02/13 Javascript
jQuery中replaceAll()方法用法实例
2015/01/16 Javascript
js完美解决IE6不支持position:fixed的bug
2015/04/24 Javascript
angular.bind使用心得
2015/10/26 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
微信小程序 加载 app-service.js 错误解决方法
2016/10/12 Javascript
jQuery插件form-validation-engine正则表达式操作示例
2017/02/09 Javascript
jQuery实现大图轮播
2017/02/13 Javascript
angularjs项目的页面跳转如何实现(5种方法)
2017/05/25 Javascript
js数组方法reduce经典用法代码分享
2018/01/07 Javascript
在vue中使用v-bind:class的选项卡方法
2018/09/27 Javascript
微信小程序实现随机验证码功能
2018/12/20 Javascript
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
2020/04/21 Javascript
python使用Apriori算法进行关联性解析
2017/12/21 Python
python多进程并发demo实例解析
2019/12/13 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
Python 在局部变量域中执行代码
2020/08/07 Python
python读取excel数据绘制简单曲线图的完整步骤记录
2020/10/30 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
解析HTML5的存储功能和web SQL的相关操作方法
2016/02/19 HTML / CSS
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
李维斯牛仔裤荷兰官方网站:Levi’s NL
2020/08/23 全球购物
护士实习自我鉴定
2013/10/22 职场文书
标准的毕业生自荐信
2014/04/20 职场文书
护理专科毕业自荐信范文
2014/04/21 职场文书
单位委托书怎么写
2014/08/02 职场文书
小学教师见习总结
2015/06/23 职场文书
护士爱岗敬业心得体会
2016/01/25 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers