PHP MySQLに関する質問です。


$ro = mysql_fetch_assoc($re);
echo $ro['content'];

上記スクリプトはMySQLのテーブルの「content」フィールドのデータを引っ張ってきて表示させているものです。

「content」内の文章の改行コードを<br />に変換させて表示させる事は可能でしょうか?

そのまま表示させると改行が無い読みづらい文章になってしまいます。

Windows・MACの改行コードをHTMLタグの改行コード<br />に変換させる方法があれば教えてください。

もしPHPで不可能ならば、MySQLのデータを直接いじる方法でも構いません。

よろしくお願い致します。

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:2007/03/11 03:38:09
  • 終了:2007/03/11 04:10:56

ベストアンサー

id:nandedarou No.1

nandedarou回答回数230ベストアンサー獲得回数342007/03/11 04:03:30

ポイント100pt
$ro['content'] = str_replace(
            array("\r\n", "\n", "\r"),
            '<br />',
            $ro['content']
            );

これでできると思います。

http://au3.php.net/manual/ja/function.str-replace.php

id:tokyosmash

できました!完璧です。

何度もありがとうございます。

2007/03/11 04:10:30
  • id:mine-D
    http://phprefa.seesaa.net/article/5360997.html

    nl2brを使った方が早いのでは。
  • id:toteri
    nl2brの方が…。
  • id:nandedarou
    確かに、今回の質問は、表示したいだけのようなので、ご指摘のとおり、nl2brでも問題なかったかも知れません。(^^;)

    でも、本来、データベースやファイルに保存する時点で、改行コードを統一するか、削除した方がいいですね。nl2brでは、改行コードの前にbrタグを追加するだけなので、それができません。

    http://jp.php.net/manual/ja/function.nl2br.php
    phpマニュアル下のユーザーコメントでもnl2brよりstr_replaceの方を使うべきだという意見が書いてあります。

    応用力の点から考えても、str_replaceにも一理あるかと…


この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません