# mb_substr

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

mb_substr — Get part of string

### Description

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

Performs a multi-byte safe substr() operation based on number of characters. Position is counted from the beginning of `str`. First character's position is 0. Second character position is 1, and so on.

### Parameters

`str`

  The string to extract the substring from.

`start`

  If `start` is non-negative, the returned string will start at the `start`'th position in `str`, counting from zero. For instance, in the string 'abcdef', the character at position 0 is 'a', the character at position 2 is 'c', and so forth.

  If `start` is negative, the returned string will start at the `start`'th character from the end of `str`.

`length`

  Maximum number of characters to use from `str`. If omitted or NULL is passed, extract all characters to the end of the string.

`encoding`

  The `encoding` parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

### Return Values

mb_substr() returns the portion of `str` specified by the `start` and `length` parameters.

### Changelog

Version | Description
--- | ---
5.4.8 | Passing NULL as `length` extracts all characters to the end of the string. Prior to this version NULL was treated the same as 0.

### See Also

- mb_strcut() - Get part of string
- mb_internal_encoding() - Set/Get internal character encoding