mb_strcut

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

mb_strcut文字列の一部を得る

説明

mb_strcut(
    string $string,
    int $start,
    ?int $length = null,
    ?string $encoding = null
): string

mb_strcut() は、ある文字列からの部分文字列の抽出を mb_substr() と同じ方法で行います。ただし、 処理は文字単位ではなくバイト単位で行います。 切り出し位置がたまたまマルチバイト文字の 2 バイト目以降だった場合、 切り出しはその文字の最初のバイトから行われます。この挙動もまた substr() 関数と異なるところです。 substr() の場合は、 マルチバイト文字の 2 バイト目以降であってもその位置から切り出しを行い、 結果的に壊れたバイト列を返すことになります。

パラメータ

string

取り出しの対象となる文字列。

start

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

start が負の場合に返される文字列は、 string の後ろから数えて start バイト目以降となります。 負の start の絶対値が文字列の長さよりも大きい場合、 返される文字列は、string の先頭から始まります。

length

バイト単位での長さ。 省略したり NULL を指定したりした場合は、 文字列の最後までの全バイトを取り出します。

length が負の場合、返される文字列は string の後ろから数えて length バイト目で終了します。 しかし、負の length の絶対値が start の位置を超える場合、空の文字列が返されます。

encoding

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

戻り値

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

変更履歴

バージョン 説明
8.0.0 encoding は、nullable になりました。

参考

関連キーワード:  バイト, string, length, strcut, encoding, 文字, substr, 単位, パラメータ, 位置