• ベストアンサー

文字列を分割

PHP4で、60バイト以上ある文字列を、60バイト度に改行を挿入したいのですが方法がわかりません。。 何か良い方法をご存知の方がいらっしゃれば、 教えて頂けますか? 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • dede_nd
  • ベストアンサー率100% (3/3)
回答No.1

substr()で部分文字列を抽出できるので 60バイト毎に取り出して加工してやればできると思います。 for($i=0; $i<=floor(strlen($str)/60); $i++){ $start = $i*60; $str_sub = substr($str,$start,60); $str_out .= (strlen($str_sub) != 60)?$str_sub:$str_sub.$code; } $strが入力文字列、$str_outが出力文字列、$codeは改行コードです。

acteon
質問者

お礼

回答ありがとうございました! for文でうまく値を取得することができました。

その他の回答 (2)

回答No.3

#2です。 勝手に改行は<br />としています。何でも良いですが(笑。

回答No.2

ズバリ関数はなさそうですね。 簡単な関数を作ってみました。マルチバイト対応です。$encを指定しないと切れ目でおかしくなります。マルチバイトなので、バイト長は30に指定してあります。 function bitebr($str){ $n = 0; $length = 30; $enc = "EUC-JP"; while($s = mb_substr($str,$n,$length,$enc)){ $newStr .= $s."<br />"; $n += $length; } return $newStr; }

acteon
質問者

お礼

ありがとうございました。 是非参考にさせて頂きます。

関連するQ&A