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

MySql DBに登録されている文章の編集画面を作成したのですが(下記)、ブラウザで見ると、dbでは<br>で複数行文章が改行つきで登録されていますが、編集画面では改行されず、div内に1行で表示され全表示されません。どのようにすれば編集画面で改行表示されるのでしょうか? (なお、textareaにすると、DBの文章が引き込まれませんでした。) 初歩的な質問のような気がするのですが全くわからず投稿させていただきました。(・ω・;)どうぞよろしくお願いいたします。<(_"_)>
<?php
$sql = "select * from profile";
$result = mysqli_query($link, $sql);
while($data = mysqli_fetch_array($result)) {
echo "<input type='text' id='TextField' name='profile_input' value='".$data['profile_text']."'>";
}
?>

●質問者: m0r1y055tan
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pogpi
●40ポイント

<TEXTAREA>$data['profile_text']</TEXTAREA>
テキストエリアは、タグ内に書くんですよ。


m0r1y055tanさんのコメント
pogpiさん す、するどい!というか私がばかちんでした(@∀@;) タグではさむとなぜか編集モードにならないから<>内に入れたりいろいろやってるうちに混乱したみたいです。ご指摘ありがとうございました。"<( ^ v ^ )>" 後ほど配分させていただきます。

2 ● gizmo5
●60ポイント ベストアンサー

input type=text は一行だけです。改行が効きません。
textarea は改行が効きますが、DB では <br> をつけて改行を表現しているということなので <br> がそのまま表示されてしまいます。
(textarea にデータを表示するには、?の回答のようにタグの中に記載します。)

preg_replace 関数などで、表示するときには br タグを改行文字に置き換えて表示。
データを登録するときには、逆に改行文字を br タグに変換してから DB を更新する。
というようなやり方が良いのではないでしょうか。


m0r1y055tanさんのコメント
gizmo5さん ありがとうございます!おっしゃる通り、textareaタグ内に入れたら brタグが表示されたので、教えられた通りpreg_replace 関数で置き換えたらbrタグが非表示になりました? preg_replace("/<br\W*?\/>/", "\n", $my_string) これで今夜はぐっすり眠れます。(^-^) 大変助かりました☆
関連質問

●質問をもっと探す●



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