[PHP-users 2453] Re: TEXTAREAの表示方法について
Remi Okawara
php-users@php.gr.jp
Wed, 03 Oct 2001 23:30:23 +0900
Mitsuhisa TANAKA <mitsu@tanazo.com> wrote:
> 初投稿の田中です。
> 何時も参考にしています。
>
> 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
>
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
+・+・+・+・+・+・+・+・+・+・+・+・+・+・
大河原 礼美 -*-* Remi Okawara *-*-
Trans Cosmos Inc.
Mail to →o_remi@eng.trans-cosmos.co.jp
+・+・+・+・+・+・+・+・+・+・+・+・+・+・