PHP查找字符串相关函数

目录

【1】strstr 、strchr、stristr、strrchr函数

【2】strpos、stripos、strrpos、strripos函数

【小结】


【1】strstr 、strchr、stristr、strrchr函数

  • strstr — 查找字符串的首次出现(别名strchr)
作用:
	返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结尾的字符串。
函数:
	strstr ( string $haystack , mixed $needle [, bool $before_needle = FALSE ] ) : string
参数:
	$haystack 输入字符串。 $needle 查找字符串。
	$befor_needle 若为 TRUE,strstr() 将返回 needle 在 haystack 中的位置之前的部分。
返回值:
	返回字符串的一部分或者 FALSE(如果未发现 needle)。
  • strchr函数是strstr的函数别名;
  • stristr函数可以忽略查找的字符串大小;
  • strrchr— 查找指定字符在字符串中的最后一次出现 如果 needle 包含了不止一个字符,那么仅使用第一个字符
//strstr strchr
$haystack = 'tacks321@qq.com';
echo strstr($haystack,'@'),'<br/>';//向后查找         输出@qq.com
echo strstr($haystack,'@',true),'<br/>';//向前查找    输出tacks321
echo strchr($haystack,'qq'),'<br/>';//strstr同strchr 输出qq.com
//stristr stristr — strstr() 函数的忽略大小写版本
echo stristr($haystack,'Tacks'),'<br/>';//忽略大小写  输出tacks321@qq.com
//strrchr — 查找指定字符在字符串中的最后一次出现
echo strstr('Name:Tacks',':P'),'<br/>';//没有找到False
echo strrchr('Name:Tacks', ":P"),'<br/>';//只匹配第一个字符,输出:Tacks

【2】strpos、stripos、strrpos、strripos函数

              这些函数通常可以快速某一个字符串是否在另一个字符串中。

作用:
	返回 needle 在 haystack 中首次出现的数字位置。
函数:
	strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) : int
参数:
	$haystack 在该字符串中查找 $needle查找子字符串 $offset查找字符串偏移量
返回值:
	返回 needle 存在于 haystack 字符串起始的位置(独立于 offset)。
        同时注意字符串位置是从0开始,而不是从1开始的。
        如果没找到 needle,将返回 FALSE。
  • strpos — 查找字符串首次出现的位置
$haystack = 'Tacks is my name';
$needle   = 'Tacks';
$res = strpos($haystack,$needle);
//这里不能用!=判断,因为是在第一个位置即0,应该用全等或者全不等去判断
if( $res !== false){
    echo '$haystack contain $needle and position=',$res,'<br/>';
}else{
    echo '$haystack not contain $needle','<br/>';
}
// 忽视位置偏移量之前的字符进行查找
$haystack = 'TacksTacksTacks';
echo strpos($haystack, 'Tacks', 0),'<br/>';//0
echo strpos($haystack, 'Tacks', 1),'<br/>';//5
echo strpos($haystack, 'Tacks', 10),'<br/>';//10
  • stripos — 查找字符串首次出现的位置(不区分大小写)
echo stripos('TNT_Tacks-tacks-TACKS','tacks'),'<br/>';//4 忽略大小写进行查找匹配
  • strrpos — 计算指定字符串在目标字符串中最后一次出现的位置
echo strrpos('Tacks and Tacks','Tacks'),'<br/>';//10 最后一个Tacks的位置
  • strripos— 计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写)
echo strrpos('Tacks and Tacks','Tacks'),'<br/>';//10 最后一个Tacks的位置

【小结】

  1. strstr 查找字符串的首次出现然后截取前面或者后面的字符串,strchr是别名。
  2. strrchr— 查找指定字符在字符串中的最后一次出现 如果 needle 包含了不止一个字符,那么仅使用第一个字符
  3. stristr strstr 函数的忽略大小写版本。
  4. strpos查找字符串首次出现的位置。
  5. stripos查找字符串首次出现的位置(不区分大小写)。
  6. strrpos计算指定字符串在目标字符串中最后一次出现的位置。
  7. strripos计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值