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加MYSQL服务器
Oct 09 PHP
WIN98下Apache1.3.14+PHP4.0.4的安装
Oct 09 PHP
PHP 地址栏信息的获取代码
Jan 07 PHP
PHP下通过file_get_contents的代理使用方法
Feb 16 PHP
第六章 php目录与文件操作
Dec 30 PHP
检查用户名是否已在mysql中存在的php写法
Jan 20 PHP
图解找出PHP配置文件php.ini的路径的方法
Aug 20 PHP
浅谈PHP解析URL函数parse_url和parse_str
Nov 11 PHP
详解PHP执行定时任务的实现思路
Dec 21 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 PHP
Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例
Oct 12 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
Dec 31 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
PHP5 安装方法
2006/10/09 PHP
THINKPHP2.0到3.0有哪些改进之处
2015/01/04 PHP
php文件读取方法实例分析
2015/06/20 PHP
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
2007/05/03 Javascript
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
2009/07/18 Javascript
深入理解JavaScript系列(10) JavaScript核心(晋级高手必读篇)
2012/01/15 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
jQuery实现复选框成对选择及对应取消的方法
2015/03/03 Javascript
AngularJS基础学习笔记之指令
2015/05/10 Javascript
JS实现无限级网页折叠菜单(类似树形菜单)效果代码
2015/09/17 Javascript
JavaScript学习笔记之数组随机排序
2016/03/23 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
2017/03/08 Javascript
微信小程序 Buffer缓冲区的详解
2017/07/06 Javascript
微信小程序实现滚动消息通知
2018/02/02 Javascript
react实现点击选中的li高亮的示例代码
2018/05/24 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
python fabric实现远程操作和部署示例
2014/03/25 Python
Python实现的建造者模式示例
2018/08/06 Python
python实现键盘输入的实操方法
2019/07/16 Python
python实现二分类和多分类的ROC曲线教程
2020/06/15 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
一文彻底解决HTML5页面中长按保存图片功能
2019/06/10 HTML / CSS
html5响应式开发自动计算fontSize的方法
2020/01/13 HTML / CSS
美国折扣网站:jClub
2017/08/07 全球购物
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
俄罗斯连接商品和买家的在线平台:goods.ru
2020/11/30 全球购物
个人素质的自我评价分享
2013/12/16 职场文书
党课心得体会范文
2014/09/09 职场文书
党员批评与自我批评发言稿
2014/10/14 职场文书
会议通知
2015/04/15 职场文书
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书
导游词之铁岭象牙山
2019/12/06 职场文书
OpenCV 图像梯度的实现方法
2021/07/25 Python
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers
Rust中的Struct使用示例详解
2022/08/14 Javascript