【PHPプログラム】


PHP4.3を使用しています。

入力された文字列を、70字毎に自動改行させたいのですが、半角文字と全角文字が混じっていると、行の最後の文字が文字化けを起こしてしまいます。
何かいい方法を教えてください。

-----------------------------------
(※失敗例)
-----------------------------------
<?php
print wordwrap($_POST[’text’],70,”¥n”,1);
?>

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/12/13 10:53:14
  • 終了:--

回答(2件)

id:yoshihi6 No.1

yoshihi6回答回数6ベストアンサー獲得回数02005/12/13 11:09:25

ポイント25pt

http://dead.jp/mabushi/index.php?%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%...

プログラミング/PHP/PHP逆引き - 土用の丑

これでどうでしょうか。

id:keijiro

ありがとうございます。

2005/12/13 12:31:56
id:okami3 No.2

okami3回答回数7ベストアンサー獲得回数02005/12/13 11:14:15

ポイント25pt

マルチバイト関数が使えるかと思いますので、


$stext=$_POST[’text’];


for($i=0;$ttext=mb_strimwidth($stext,$i,70);$i+=70){

$dtext .= $ttext.”¥n”;

}


print $dtext;


てな感じでいかがでしょうか?

id:keijiro

ごめんなさい。

質問がまずかったです。

70文字毎ではなく、70バイトごとでした。

全角と半角の組み合わせで、71バイトになる場合は、69バイトで改行って感じにしたいです。

2005/12/18 14:57:38

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません