PHP 字符串获取 substr 与 strstr 函数

时间:2023-01-04 08:58:54

PHP 字符串获取

用于从字符串中获取指定字符串。

相关函数如下:

  • substr():从字符串中获取其中的一部分
  • strstr():查找字符串在另一个字符串中第一次出现的位置,并返回从该位置到字符串结尾的所有字符
  • subchr():同 strstr()
  • strrchr():查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符

substr()

substr() 函数用于从字符串中获取其中的一部分,返回一个字符串。

语法:

string substr ( string string, int start [, int length] )
参数说明如下:
参数 说明
string 要处理的字符串
start 字符串开始位置,起始位置为 0 ,为负则从字符串结尾的指定位置开始
length 可选,字符串返回的长度,默认是直到字符串的结尾,为负则从字符串末端返回

例子:

<?php
echo substr('abcdef', 1); //输出 bcdef
echo substr('abcdef', 1, 2); //输出 bc
echo substr('abcdef', -3, 2); //输出 de
echo substr('abcdef', 1, -2); //输出 bcd
?>

提示

如果 start 是负数且 length 小于等于 start ,则 length 为 0。

strstr()

查找字符串在另一个字符串中第一次出现的位置,并返回从该位置到字符串结尾的所有字符,如果没找到则返回 FALSE。

语法:

string strstr ( string string, string needle )
参数说明如下:
参数 说明
string 要处理的字符串
needle 要查找的字符串,如果是数字,则搜索匹配数字 ASCII 值的字符

例子:

<?php
$email = 'user@5idev.com';
$domain = strstr($email, '@');
echo $domain;// 输出 @5idev.com
?>

提示

该函数对大小写敏感。如需进行大小写不敏感的查找,请使用 stristr() 。

strchr()

同 strstr() 。

strrchr()

查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符,如果没找到则返回 FALSE。

语法:

string strrchr ( string string, string needle )

该函数行为同 strstr() 函数,参数意义可参见上面 strstr() 函数参数说明。

例子:

<?php
$str="AAA|BBB|CCC";
echo strrchr($str, "|");
?>

运行例子,输出:

|CCC

结合 substr() 函数便可以实现 截取某个最后出现的字符后面的所有内容 这一功能:

<?php
$str="AAA|BBB|CCC";
echo substr(strrchr($str, "|"), 1);
?>