# mb_substr

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_substr — 获取部分字符串

### 说明

mb_substr ( string `$str` , int `$start` [, int `$length` = NULL [, string `$encoding` = mb_internal_encoding() ]] ) : string

根据字符数执行一个多字节安全的 substr() 操作。 位置是从 `str` 的开始位置进行计数。 第一个字符的位置是 0。第二个字符的位置是 1，以此类推。

### 参数

`str`

  从该 string 中提取子字符串。

`start`

  如果 `start` 不是负数，返回的字符串会从 `str` 第 `start` 的位置开始，从 0 开始计数。举个例子，字符串 'abcdef'，位置 0 的字符是 'a'，位置 2 的字符是 'c'，以此类推。

  如果 `start` 是负数，返回的字符串是从 `str` 末尾处第 `start` 个字符开始的。

`length`

  `str` 中要使用的最大字符数。如果省略了此参数或者传入了 NULL，则会提取到字符串的尾部。

`encoding`

  `encoding` 参数为字符编码。如果省略，则使用内部字符编码。

### 返回值

mb_substr() 函数根据 `start` 和 `length` 参数返回 `str` 中指定的部分。

### 更新日志

版本 | 说明
--- | ---
5.4.8 | `length` 传入 NULL，则从 start 提取到字符串的结尾处。 在之前的版本里， NULL 会被当作 0 来处理。

### 参见

- mb_strcut() - 获取字符的一部分
- mb_internal_encoding() - 设置/获取内部字符编码