文字列の一部を得る

# mb_substr

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

mb_substr — 文字列の一部を得る

### 説明

function mb_substr(
string `$string`,
int `$start`,
?int `$length` = `null`,
?string `$encoding` = `null`
): string

文字数に基づきマルチバイト対応の substr() 処理を行います。位置は、 `string` の始めから数えられます。 最初の文字の位置は 0、2 番目の文字の位置は 1、といったようになります。

### パラメータ

`string`

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

`start`

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

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

`length`

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

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

### 戻り値

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

### 変更履歴

バージョン | 説明
--- | ---
8.4.0 | 不正な文字列（エンコーディングエラーを含むもの）に対しては、 他のほとんどの mbstring 関数と同じように文字インデックスが解釈されるようになりました。 つまり、mb_strpos() が返す文字インデックスを 直接渡せるようになりました。
8.0.0 | `encoding` は、nullable になりました。

### 参考

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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open