• ベストアンサー

DBからのデータを改行して表示

テキストエリアで入力したものを → DB DB→入力したものを表示する場合、 改行して入力したものを、改行したまま表示したいのですが 方法がわかりません。 str_replace()とか使って見ましたがダメでした。 教えて下さい。

  • amd64
  • お礼率0% (0/42)
  • PHP
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.2

http://www.php.net/manual/ja/function.nl2br.php これ使えば一発 XHTML準拠なので 改行コードを<br />に変換されます

その他の回答 (1)

  • _chihiro_
  • ベストアンサー率63% (26/41)
回答No.1

> str_replace()とか使って見ましたがダメでした。 どういう風に使ってみたのかが知りたいです。 > 改行して入力したものを、改行したまま表示したいのですが 「表示したい」というのはブラウザ上で、という事でしょうか? ブラウザ上で改行させたいのであれば、入力データをnl2br()などで、改行文字を<br>に変換してDBへ保存すればそのまま表示できると思います。 str_replace()でも<br>に変換することできますよ。

参考URL:
http://jp.php.net/manual/ja/function.nl2br.php

関連するQ&A

  • 改行の削除

    現在入力したデータをデータベースに保存し、 そのデータをPHPで表示するようにしています。 入力する場所はテキストエリアで改行などを入れてるのですが、データベースでテキストエリアに表示するときに 下記のように<br />が入ってしまいます。 あ<br /> か<br /> さ そこで、下記のような処理を行ったのですが、やはり上記のような表示になってしまいます。 何かよい方法はありませんでしょうか? $tmpStr = str_replace("<br />", "", trim($tgtStr));

    • ベストアンサー
    • PHP
  • phpとhtml間のデータ送信時「テキスト改行」処理について

    自分で調べてみましたが、どうしてもわからず行き詰まりました。 どなたかお知恵を貸して頂ければ幸いです。 【使用ファイル】 a.php php処理 b.html db抽出データ表示とフォーム(編集画面) c.html フォーム入力内容表示(確認画面) データ送信はPOSTとSmarty併用 dbへはMySQLで格納 【変数】 $z テキストエリアの項目値 【流れ】 a.php→b.html→a.php→c.html→a.php→b.html/dbへ格納 1:a.phpでdbよりデータ(テキスト)を抽出し追加、変数$zに格納。 2:Smartyでb.htmlへ$zを送る。送り先はフォーム内のテキストエリア値。 3:$zにテキスト追加で改行発生 (\n発生と予測)。 4:b.htmlからPOSTでa.phpへ。 nl2br($z)処理をし、<br />挿入。 5:Smartyでc.htmlへ$zを送る。 $zには<br>と\nの両方が入っている状態。改行表示される。ブラウザのページソースでは<br />が入っている。 6-1:c.html(POST)→a.php(smarty)→b.html str_replace("<br />,"","$z)で<br />を取り除き\nのみの状態 smartyでb.htmlへ 6-2:c.html(POST)→a.php→db格納  str_replace("<br />,"","$z)で<br />を取り除き\nのみの状態でdbへ格納 6-1,2とも<br />を入れたままだと文字列に<br />が入ってしまう 7:a.php→b.htmlで再度$zを呼び出してみると(1:の処理)<br />を取り除いたはずなのに、ブラウザではきちんと改行表示されている。 ブラウザのページソースに<br />の表示はない 【疑問点】 3:\nは発生してPOSTでa.phpにきているのか? きている種類が\nまたは他の改行文字かどうかを調べる手段はあるのか?バイナリ関連で調べるのか? 6-1:<br />を削除してhtmlへ送っているのに改行表示されるのか? <br />が文字列扱いになるのはなぜか? 6-2:dbでは\nが改行として認識されるのか? 7:\nしか入っていない文字列をブラウザ表示して、なぜ改行表示されるのか? 以上です。考えれば考える程にわからなくなってきました。 どうぞよろしくお願いします。

    • ベストアンサー
    • PHP
  • 改行をデータとして送信

    javascriptとperlとMySQLでデータベースを作っている初心者です。 複数選択が可能なセレクトボックスで選択中の項目を、 隣にあるテキストエリアで常時表示するスクリプトを組みました。 ところが表示自体はできるのですが、 テキストエリア内で選択項目ごとに改行して表示させることができません。 以下が現在の構文です。 #スクリプト部 function ABC() { var MAX = document.AAAFORM.BBBSELECTBOX.length; var str = ""; for(i=1;i<MAX;i++){ if(document.AAAFORM.BBBSELECTBOX.options[i].selected){ if(str == ""){str = document.AAAFORM.BBBSELECTBOX.options[i].text} else{str += "●" + document.AAAFORM.BBBSELECTBOX.options[i].text} } } document.AAAFORM.CCCTEXTAREA.value = str; } #セレクトボックス部 <SELECT multiple onchange="ABC()" name="BBBTEXTAREA" > $option(別箇所で編集) </SELECT> #テキストエリア部 <textarea name="$CCCTEXTAREA" >$CCCTEXTAREA</textarea> 以上の構文の"●"の部分を""にした状態で、 現在は正常にテキストエリア内に選択中の項目が表示されます。 これに改行を加えようとすると、 "●"の部分に"\n"を加えることになるか、 もしくは「""」の中間で記述自体を改行するのかと思ったのですが、 どちらも実行時に「オブジェクトを指定してください」というエラーが出てしまいます。 別の方法も模索しているのですが… なかなか良い案が思い当りません。 この問題について、あるいは代替案について、 よろしければみなさんのお知恵を拝借させてください。

  • 改行コードについて

    HTMLフォームのテキストエリアで改行した場合の処理についてご質問します。 Windowsのローカル環境で試しています。 改行コードLFでPHPを作成しています。 ○改行コードの認識 LF(\n) Unix,Mac OS X CR(\r) Mac OS 9 CRLF(\r\n) ○テキストエリアからの入力値の処理 CRLF、CRをLFに変換しています。 $value= str_replace ("\r\n", "\n", $value); $value = str_replace ("\r", "\n", $value); このあとDBに値を格納しています。 ○出力の際の処理 DBから値を取得。 phpのprint関数で下記を出力。 <textarea >${value}</textarea> 上記処理で、ローカル、サーバともに正常に動作しています。 しかし改行コードがLF(\n)なのでCRLF(\r\n)のWindowsで表示したときには問題が起きそうな気がします(実際には正常に動作)。 なにかしっくりこなくて質問させていただきました。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 必要な文字のみに変換する場合

    Text1に入力された文字からアルファベットの大文字のみをText2へ表示させたい(つまり記号、2バイト文字などは省き、小文字は大文字に変換)と考えています。 Dim Str as String   Str = Text1.text   Str = Trim(Str)   Str = Replace(Str, " ", "")   Str = Replace(Str, " ", "")   Str = Replace(Str, vbTab, "")   Str = Replace(Str, vbCrLf, "") スペース、タブ、改行は空白文字に置き換えることができたのですが、アルファベット以外の記号や小文字への変換、2バイト文字の扱い方などが思いつきません。 何か方法がありましたら、お教えください。

  • thickbox.jsで表示したフォームで改行

    ThickBox 3.1(thickbox.min.js)で表示させたモーダルウインドウ内に、メールフォームを設置しています。 入力時にテキストエリア内で改行したくてenterキーを押すと、モーダルウインドウが閉じてしまいます。 テキストエリアにフォーカスしている場合も、していない場合も同様です。 モーダルウインドウが開いているときにenterキーを押してもウインドウが閉じないようにしたい&テキストエリアにフォーカスしているときにenterキーを押すと改行されるようにしたいのですが、どうすればよいのでしょうか?

  • 改行について

    フォームのテキストエリアに入力されたデータを PHPと連動してmySqlに格納したいと思っています。 テキストエリアから渡された文字列中に改行がある場合、 そのまま格納しても(サニタイズは当然するとして)問題ないでしょうか? それとも<BR>等に変換すべきでしょうか?

    • ベストアンサー
    • MySQL
  • 改行コードについて

    ファイルの文字コードはutf-8で改行コードはLFです。 メール送信時にメール文面の一部にいれるテキストを mysqlに保存しています。 メール送信のソース内でデータを読み込み送信までは できているのですが改行コードを変換したく $msg = str_replace("\r\n", "\n", $msg); とやってみましたが改行されず普通に\r\nと表示され うまく変換ができません。 いろいろと試した結果以下のソースでは正常に改行されました。 $msg = str_replace("\\r\\n", "\n", $msg); メール送信前にデバッグでしてみましたが読み込むデータの 改行部分は\r\nとなっているのは確認済みです。 \を多くつければ改行はできるようなのですがこれは仕様なの でしょうか? またmysqlに入れてあるデータはフォームから入力し登録 しているのですがLFの改行コードは\nなので登録時に\r\nではなく \nと変換してからmysqlに登録するのがいいものなのでしょうか?

    • 締切済み
    • PHP
  • PHPで変数内改行コードが削除できません

    PHPで変数内改行コードが削除できません お助けください。 ↓  *$field_value はDBのフィールドから取り出したデータです。 $field_value = str_replace(array("\r\n","\r","\n"), '', $field_value); DBにはCSVから書き込んでます。 そのさいの各行の最後のフィールドに改行コードが入って DBに登録されているようです。

    • ベストアンサー
    • PHP
  • iアプリ 改行を認識させるには?

    String型のstrにIMEで文字を下記のように改行を混ぜて入力してもらいます。↓ ********************** あああ いいい ううう ********************** これをg.drawString(str, 10, 10)で表示するとこのようになってしまいます。↓ ********************** あああ いいい ううう ********************** 改行を一つの文字として認識していると思うのですが、この改行が入った場合int型のxを1増やして描画位置を下にしようと考えています。この改行を認識する方法はどうすればいいのでしょうか?

    • ベストアンサー
    • Java