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 = '[email protected]';
echo strstr($haystack,'@'),'
';//向后查找 输出@qq.com echo strstr($haystack,'@',true),'
';//向前查找 输出tacks321 echo strchr($haystack,'qq'),'
';//strstr同strchr 输出qq.com //stristr stristr — strstr() 函数的忽略大小写版本 echo stristr($haystack,'Tacks'),'
';//忽略大小写 输出[email protected] //strrchr — 查找指定字符在字符串中的最后一次出现 echo strstr('Name:Tacks',':P'),'
';//没有找到False echo strrchr('Name:Tacks', ":P"),'
';//只匹配第一个字符,输出: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,'
'; }else{ echo '$haystack not contain $needle','
'; } // 忽视位置偏移量之前的字符进行查找 $haystack = 'TacksTacksTacks'; echo strpos($haystack, 'Tacks', 0),'
';//0 echo strpos($haystack, 'Tacks', 1),'
';//5 echo strpos($haystack, 'Tacks', 10),'
';//10
  • stripos — 查找字符串首次出现的位置(不区分大小写)
echo stripos('TNT_Tacks-tacks-TACKS','tacks'),'
';//4 忽略大小写进行查找匹配
  • strrpos — 计算指定字符串在目标字符串中最后一次出现的位置
echo strrpos('Tacks and Tacks','Tacks'),'
';//10 最后一个Tacks的位置
  • strripos— 计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写)
echo strrpos('Tacks and Tacks','Tacks'),'
';//10 最后一个Tacks的位置

【小结】

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

你可能感兴趣的:(php)