函数名:mb_strstr()
适用版本:PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8
用法:mb_strstr(string $haystack, string $needle, bool $before_needle = false, string $encoding = null): string|false
说明: mb_strstr() 函数用于在字符串 $haystack 中查找子字符串 $needle,并返回 $needle 后的部分字符串。该函数与原生的 strstr() 函数相似,但是支持多字节字符集。
参数:
- $haystack:要在其中查找子字符串的原始字符串。
- $needle:要查找的子字符串。
- $before_needle(可选):如果设置为 true,则返回 $needle 之前的部分字符串。
- $encoding(可选):指定字符编码。如果未指定,则使用内部字符编码。
返回值:
- 如果找到了 $needle,则返回 $needle 后的部分字符串。
- 如果未找到 $needle,则返回 false。
示例:
$str = "Hello, World!";
$needle = "World";
// 在 $str 中查找 $needle 并返回 $needle 后的部分字符串
$result = mb_strstr($str, $needle);
echo $result; // 输出: World!
// 在 $str 中查找 $needle 并返回 $needle 之前的部分字符串
$result = mb_strstr($str, $needle, true);
echo $result; // 输出: Hello,
// 使用指定的字符编码进行查找
$str = "你好,世界!";
$needle = "世界";
$result = mb_strstr($str, $needle, false, 'UTF-8');
echo $result; // 输出: 世界!
注意事项:
- 如果 $encoding 参数未指定,则默认使用内部字符编码。建议在使用前设置正确的字符编码。
- 如果要查找的子字符串为空字符串,则会返回原始字符串。
- mb_strstr() 函数区分大小写,如果要进行大小写不敏感的搜索,可以使用 mb_stripos() 函数。