# stristr

(PHP 4, PHP 5, PHP 7)

stristr — strstr() 函数的忽略大小写版本

### 说明

stristr ( string `$haystack` , mixed `$needle` [, bool `$before_needle` = `FALSE` ] ) : string

返回 `haystack` 字符串从 `needle` 第一次出现的位置开始到结尾的字符串。

### 参数

`haystack`

  在该字符串中查找。

`needle`

  如果 `needle` 不是一个字符串，那么它将被转换为整型并被视为字符顺序值。

`before_needle`

  若为 `TRUE`，strstr() 将返回 `needle` 在 `haystack` 中的位置之前的部分(不包括 needle)。

参数 `needle` 和 `haystack` 将以不区分大小写的方式对待。

### 返回值

返回匹配的子字符串。如果 `needle` 未找到，返回 `FALSE`。

### 更新日志

版本 | 说明
--- | ---
5.3.0 | 新增可选的 `before_needle` 参数。
4.3.0 | stristr() 变为二进制安全的。

### 范例

Example #1 stristr() 范例

    <?php
      $email = 'USER@EXAMPLE.com';
      echo stristr($email, 'e'); // 输出 ER@EXAMPLE.com
      echo stristr($email, 'e', true); // 自 PHP 5.3.0 起，输出 US
    ?>

Example #2 测试字符串的存在与否

    <?php
      $string = 'Hello World!';
      if(stristr($string, 'earth') === FALSE) {
        echo '"earth" not found in string';
      }
    // 输出: "earth" not found in string
    ?>

Example #3 使用非字符串 needle

    <?php
      $string = 'APPLE';
      echo stristr($string, 97); // 97 = 小写字母 a
    // 输出: APPLE
    ?>

### 注释

> Note: 此函数可安全用于二进制对象。

### 参见

- strstr() - 查找字符串的首次出现
- strrchr() - 查找指定字符在字符串中的最后一次出现
- stripos() - 查找字符串首次出现的位置（不区分大小写）
- strpbrk() - 在字符串中查找一组字符的任何一个字符
- preg_match() - 执行匹配正则表达式