• 締切済み

mb_strcut関数について

mb_strcut関数について教えてください。 for($ii = 0; $ii < strlen($str)/36; $ii++){  $data .= mb_strcut($str,$ii*36,36,"SJIS")."\n"; } 上記のソースを使用して、 全角18文字分で改行するように文字を抜き出しているのですが、 うまく抜き出せないことがあります。 例えば、「ANA111」という文字が抜き出す1文字目に来た場合、 「NA111~」 と抜き出されてしまいます。 1行の中の途中で「ANA111」が出現する分には問題がないのですが、 抜き出す1文字目に来た場合に、「A」が欠落していまいます。 半角文字であることが原因かと思い、大文字にしましたが、同様の現象があらわれました。 また、他の場合に先頭が半角文字でも問題なく抜き出すことができることもあり、 現象が現れたり、現れなかったりと、困っております。 mb_strcut関数の挙動に問題があるのかと、 思っているのですが、 何かよい、対処法がありました、お教えください。 宜しく御願い致します。

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

mb_substr()を使ってはどうでしょうか

参考URL:
http://okweb.jp/kotaeru.php3?qid=1392323

関連するQ&A