人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【PHPプログラム】

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

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

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

●質問者: PEPOTA
●カテゴリ:コンピュータ 学習・教育
✍キーワード:PHP print プログラム 入力 文字列
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● yoshihi6
●25ポイント

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

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

これでどうでしょうか。

◎質問者からの返答

ありがとうございます。


2 ● okami3
●25ポイント

http://jp.php.net/manual/ja/function.mb-strimwidth.php

PHP: mb_strimwidth - Manual

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


$stext=$_POST[’text’];


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

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

}


print $dtext;


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

◎質問者からの返答

ごめんなさい。

質問がまずかったです。

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ