さっきPHP5のマルチバイト関数周りを調べていたときに一つ発見。
PHP5のマニュアルで
mb_strcut()のところを開くと、
mb_strcut() は、mb_substr() と同じ処理を異なった方法で行います。位置 start がマルチバイト文字の 2 バイト目以降で ある場合、マルチバイト文字の最初のバイトから開始されます。
と書いてある。ただ実際にはどう使うかというと…
○mb_substr(): 文字の開始位置と終了位置を
文字数で指定
○mb_strcut(): 文字の開始位置と終了位置を
バイト数で指定
つーかこれって「同じ処理」じゃないじゃん!!!
まあmb_substr()の
英語版の解説を読むと
mb_strcut() performs equivalent operation as mb_substr() with different method. If start position is multi-byte character's second byte or larger, it starts from first byte of multi-byte character.
It subtracts string from str that is shorter than length AND character that is not part of multi-byte string or not being middle of shift sequence.
って書いてあるので、元の英語版の記述からして間違えてるんですが。
どうせなら
英語版のmb_substr()の記載に合わせて、mb_strcut()も
Performs a multi-byte safe substr() operation based on number of bytes.
とでも書いとけば混乱を招かずに済むのではないかと思われ。