PHP判断是否包含指定字符串的方法
语法:strstr(string,search,before_search)
参数
|
描述
|
string | 必需。规定被搜索的字符串。 |
search | 必需。规定要搜索的字符串。如果该参数是数字,则搜索匹配该数字对应的 ASCII 值的字符。 |
before_search | 可选。一个默认值为 “false” 的布尔值。如果设置为 “true”,它将返回 search 参数第一次出现之前的字符串部分 |
- <?php
- $mail = ‘test@5izixue.com’;
- $domain = strstr($mail, ‘@’);
- echo $domain; // 输出结果 @5izixue.com
- $login = strstr($mail, ‘@’, true);
- echo $login; // 输出结果 test
- ?>
复制代码
2、stristr 与strstr函数功能一致,差异的该函数在查找字符串时不分区大小写。
3、strpos 函数查找字符串首次出现的位置(区分大小写)。
语法
strpos(string,find,start)
参数
|
描述
|
string | 必需。规定被搜索的字符串。 |
find |
必需。规定要查找的字符。
|
start | 可选。规定开始搜索的位置。 |
返回字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回 FALSE。
注释: 字符串位置从 0 开始,不是从 1 开始。
示例:
- if(strpos(‘5izixue.com’,’xue’)!==false){
- echo ‘包含xue’;
- }
- else{
- echo ‘查找失败’
- }
复制代码
如果编码的时候需要找到具体的位置,也可以直接打印查找结果。查找成功就是符合字符的第一个位置,查找失败就会返回false。
strrpos() – 查找字符串在另一字符串中最后一次出现的位置(区分大小写)
stripos() – 查找字符串在另一字符串中第一次出现的位置(不区分大小写)
strripos() -查找字符串在另一字符串中最后一次出现的位置(不区分大小写)
4、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 位置开始直到字符串结尾。