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 相关文章推荐
PHP5 的对象赋值机制介绍
Aug 02 PHP
一个PHP的QRcode类与大家分享
Nov 13 PHP
mysql总结之explain
Feb 27 PHP
PHP系列学习之日期函数使用介绍
Aug 18 PHP
使用ThinkPHP+Uploadify实现图片上传功能
Jun 26 PHP
PHP与jquery实时显示网站在线人数实例详解
Dec 02 PHP
php 从一个数组中随机的取出若干个不同的数实例
Dec 31 PHP
PHP实现的Redis多库选择功能单例类
Jul 27 PHP
Laravel实现搜索的时候分页并携带参数
Oct 15 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 PHP
php 中self,this的区别和操作方法实例分析
Nov 04 PHP
laravel框架使用极光推送消息操作示例
Feb 15 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 分页类实现代码
2009/12/03 PHP
PHP中::、-&amp;gt;、self、$this几种操作符的区别介绍
2013/04/24 PHP
php实现俄罗斯乘法实例
2015/03/07 PHP
用JavaScript实现使用鼠标画线的示例代码
2014/08/19 Javascript
使用angular写一个hello world
2015/01/23 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
jQuery根据表单name获取值的方法
2016/05/24 Javascript
Google 地图叠加层实例讲解
2016/08/06 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
vue2.0 与 bootstrap datetimepicker的结合使用实例
2017/05/22 Javascript
iscroll实现下拉刷新功能
2017/07/18 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
2018/01/16 Javascript
react 创建单例组件的方法
2018/04/26 Javascript
Vue3.0结合bootstrap创建多页面应用
2019/05/28 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
2020/07/24 Javascript
小程序实现可拖动的悬浮按钮
2020/09/07 Javascript
js实现抽奖功能
2020/11/24 Javascript
让python的Cookie.py模块支持冒号做key的方法
2010/12/28 Python
从零学python系列之数据处理编程实例(二)
2014/05/22 Python
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
2015/11/05 Python
Python网络爬虫出现乱码问题的解决方法
2017/01/05 Python
Python魔法方法 容器部方法详解
2020/01/02 Python
Python实现CNN的多通道输入实例
2020/01/17 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
cookies应对python反爬虫知识点详解
2020/11/25 Python
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
工地安全生产标语
2014/06/06 职场文书
房产协议书范本2014
2014/09/30 职场文书
教师查摆问题自查报告
2014/10/11 职场文书
研究生导师评语
2014/12/31 职场文书
花木兰观后感
2015/06/10 职场文书
Vue项目打包、合并及压缩优化网页响应速度
2021/07/07 Vue.js
WIN10使用IIS部署ftp服务器详细教程
2022/08/05 Servers