mb_strcut

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

mb_strcut文字列の一部を得る

説明

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

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

パラメータ

str

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

start

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

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

length

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

encoding

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

返り値

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

変更履歴

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

参考