- ベストアンサー
文字列を分割
PHP4で、60バイト以上ある文字列を、60バイト度に改行を挿入したいのですが方法がわかりません。。 何か良い方法をご存知の方がいらっしゃれば、 教えて頂けますか? 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
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は改行コードです。
その他の回答 (2)
- taketan_mydns_jp
- ベストアンサー率58% (450/773)
#2です。 勝手に改行は<br />としています。何でも良いですが(笑。
- taketan_mydns_jp
- ベストアンサー率58% (450/773)
ズバリ関数はなさそうですね。 簡単な関数を作ってみました。マルチバイト対応です。$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; }
お礼
ありがとうございました。 是非参考にさせて頂きます。
お礼
回答ありがとうございました! for文でうまく値を取得することができました。