10秒目をつむったら…

置き換えたいのですが、<br>がたくさん増えてしまいます。

下記のように書き換えています。
foreach ($data as $key => $value)
{
$data[$key] = preg_replace("/^(\s| )+$/", "", $data[$key]);
$data[$key] = strip_tags($data[$key]);
$data[$key] = stripslashes($data[$key]);
$data[$key] = mb_convert_kana($data[$key], "KV");
$data[$key] = htmlspecialchars($data[$key]);
$data[$key] = str_replace("\r", "<br>", $data[$key]);
$data[$key] = str_replace("\n", "<br>", $data[$key]);
$data[$key] = mysql_escape_string($data[$key]);
}

別途↓も入れましたが、1改行コードにつき2個<br>がつきます。
文字コードはutfです。
$data[$key] = str_replace("\r\n", "<br>\n", $data[$key]);

正しく改行コードを<br>に変換できないでしょうか?

A 回答 (2件)

nl2br()を使いましょう。



参考URL:http://jp2.php.net/manual/ja/function.nl2br.php
    • good
    • 0
この回答へのお礼

ビンゴ!

ありがとうございました。

お礼日時:2009/02/09 04:53

>$data[$key] = str_replace("\r", "<br>", $data[$key]);


>$data[$key] = str_replace("\n", "<br>", $data[$key]);

の箇所を

$data[$key] = str_replace(Array("\r\n","\n","\r"), "<br>", $data[$key]);

としてみてはどうでしょうか?
    • good
    • 0
この回答へのお礼

う~んだめでした。
ありがとうございました。

お礼日時:2009/02/09 04:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報