iconv_substr

(PHP 5, PHP 7, PHP 8)

iconv_substr — 文字列の一部を切り出す

説明

function iconv_substr(
    string $string,
    int $offset,
    ?int $length = null,
    ?string $encoding = null
): string|false

文字列 string の、 offset と length で指定された一部を返します。

パラメータ

string

元の文字列。

offset

offset が負でない場合、 iconv_substr() は string の offset 番目の文字(ゼロから数えて)から切り出します。

offset が負の場合、 iconv_substr() は string の最後から数えて offset 番目の文字から切り出します。

length

length が指定され、かつ正である場合、 返される文字列は offset から数えて最大 length 文字数分となります (string の長さに依存します)。

もし負の length が渡された場合に iconv_substr() が切り出す文字列は、 string の offset 番目の文字からはじまり、文字列の最後から数えて length 文字分戻ったところまでとなります。 offset も負の場合、開始位置は 上で説明した方式で計算されます。

encoding

encoding が指定されなかった場合、もしくは null の場合、文字セットは ini 設定 iconv.internal_encoding で定義された値とみなされます。

offset や length のパラメータは、常に charset で定義された 文字セットにおける文字数と判断されることに注意してください。 一方、substr() の場合はこれらの値を常に バイト数として判断します。

戻り値

文字列 string の、 offset と length で指定された一部を返します。

もし string が offset の文字列長より短い場合は、false が返されます。 string が offset の文字数に等しい場合、 空文字列が返されます。

変更履歴

バージョン 説明
8.0.0 length と encoding は、nullable になりました。
7.0.11 string が offset の文字数に等しい場合、 空文字列が返されます。 これより前のバージョンでは、この場合 false が返されていました。

参考

+add a note

User Contributed Notes 1 note

up
0
doru87 at gmail dot com
16 years ago
just fyi, iconv_substr() unknown error (0) has been resolved in PHP 5.2

you can also try mb_substr() or just substr() when dealing with this issue. Unfortunately there is no way to fix it in versions prior to 5.2.

Regards,
Teodor Sandu