[PHP-users 32387] Re: mb_strcutの挙動について
KUROSAKI Luka
luka @ ivoryworks.com
2007年 7月 9日 (月) 10:30:18 JST
黒咲です。
> mb_strcut($string, 3, 10) で、
> 元の文字列の10バイト目で終わるという指定をさせているけど、
> 中では3バイト目から7バイトを切り取るようになっているのではないか
> ということでいいのですよね?
うまく伝わっているか不安ですが、2byte目から7byte目が切り取られます。
(長さ10は文字列長を超えていますので、内部的に9となっていると思います)
'あいうえお' (EUC-JP)
文字列長10(0byte〜9byte)で、
mb_strcut($string, 3, 10);
とした場合、開始位置3は'い'の2byte目を指しているので、開始位置は2('い'の
1byte目)にシフトします。その際に、終了位置9('お'の2byte目)が8('お'の
1byte目)になっているのではないかと言っています。
結果として、'いうえ' になります。
> mbfl_strcutというのはPHPのソース側での関数でしょうか?
そうです。でもあれ以来よく見ていません。すみません。
PHP-users メーリングリストの案内