文字列の一部を得る

# 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、2 番目の文字の位置は 1、といったようになります。

### パラメータ

`str`

  部分文字列を取り出したい文字列。

`start`

  `start` が非負である場合に返される文字列は、 `str` の `start` バイト目以降の文字列となります (ゼロから数えます)。 たとえば、文字列 'abcdef' の 0 バイト目は 'a' で、 2 バイト目は 'c' のようになります。

  `start` が負の数の場合に返される文字列は、 `str` の後ろから数えて `start` バイト目以降となります。

`length`

  `str` の中から取り出す最大文字数。 省略したり NULL を渡したりした場合は、 文字列の最後までの全バイトを取り出します。

`encoding`

  `encoding` パラメータには文字エンコーディングを指定します。省略した場合は、 内部文字エンコーディングを使用します。

### 返り値

mb_substr() は、`start` および `length` パラメータで指定した `str` の一部を返します。

### 変更履歴

バージョン | 説明
--- | ---
5.4.8 | `length` に NULL を渡すと、文字列の末尾までのすべてのバイトを取り出すようになりました。 これより前のバージョンでは、NULL は 0 と同じ扱いでした。

### 参考

- mb_strcut() - 文字列の一部を得る
- mb_internal_encoding() - 内部文字エンコーディングを設定あるいは取得する