[PHP-users 1117] Re: TEXTAREAの表示方法について
Mitsuhisa TANAKA
php-users@php.gr.jp
Wed, 08 Aug 2001 16:59:13 +0900
初投稿の田中です。
何時も参考にしています。
From: "nishino" <nishino@plug-in-inc.com>
Subject: [PHP-users 1109] TEXTAREAの表示方法について
Date: Wed, 8 Aug 2001 15:03:39 +0900
> PHP4.0.4 POSTGRESQL7.0.3を使用しています。
>
> フォームタグのTEXTAREAで入力した文章(改行を含む)をデータベースに保存し
> それを再度、修正のために表示させようとしているのですが、改行をしたところから
> あとの文字が
> 消えてしまいます。
>
> 例)
> あああああ
> いいいいい
>
> と保存・表示したいのですが
Debian GNU/Linux 2.2r3 に upstream の PostgreSql 7.0.3
と PHP 4.0.3pl1 のソースパッケージを利用して自前の deb
パッケージを作って利用しています。
# これ以上のことは自分で調べてね。
確認用の表示文字列には、以下のような関数を作って
echo "<td>" . change_display_strings($strings) . "</td>\n";
みたいな感じにすると、改行や &, ," <, >, もちゃんと表現され
ます。
magic_quotes_gpc が ON ならば
データベースを EUC_JP などで作っておけば PostgreSQL へ
の格納は入力された文字をそのまま入れれば大丈夫だと思うけど
な。
// display strings
// usage, if you need all strings change HTML entities
// change_display_strings($strings, "all");
// or you need (&, ", <, >) chang (&, ", <, >)
// change_display_strings($strings);
function change_display_strings($strings, $all = NULL) {
if (get_magic_quotes_gpc()) {
$strings = stripslashes($strings); // delete backslash(\)
}
return ereg_replace("\n", "<BR>", ($all != "all" ? htmlspecialchars($strings) : htmlentities($strings)));
}
漢字が交じっている文字列の変換時には、"all" を指定すると
悲惨なことに。
以上、よろしくお願いいたします。
-----------------------------------------------
TANAZO Limited Partnership / Mitsuhisa TANAKA
0426-42-0321(FAX share) / 070-5582-0823(PHS)
http://www.tanazo.com/
http://tanazo.rocketbeach.net/ e-shop
http://www.tama-oss.org/ [tama open system studio]
Key fingerprint = A455 00C4 5585 8237 9EBB 12D9 3E2D 5A24 0B34 70B0