プロが教えるわが家の防犯対策術!

過去に同じような質問もありましたが、いろいろ検索してこちらの過去ログを拝見しても解決できなかったので質問させてください。

phpで掲示板をつくったのですが、textarerで改行すると表示が改行されてしまいます。
1回の書込みで1つの表示にするにはどうしたらようでしょうか。

下が問題のソースです。

<?php
$body = $_REQUEST["body"];
$body = $body."\n";

if($_REQUEST["write"] != ""){
$fp = fopen("../php/test1.txt","a");
fputs($fp,$body);
fclose($fp);
}
?>
<html>
<head>
<title>一行掲示板2</title>
</head>
<body>
<b>一行掲示板</b><br><br>
書き込む内容を入力してください。<br><hr>
<form name="form" action="<?php print $_SERVER['PHP_SELF']; ?>" method="POST">
<textarea name="body" rows="5" cols="50"></textarea>

<input name="write" type="submit" value="書込"><hr>
<?php
$data = file("../php/test1.txt");
for($i=0; $i<sizeof($data); $i++){
print "記事NO.${i}:${data[$i]}<br>\n<hr>";
}
?>
</form>
</body>
</html>

わかる方おりましたらご教授お願いします。

A 回答 (1件)

多分\r\nとかの問題だと思います。


受け取ったデータは
$_REQUEST["body"] = preg_replace ( "/\r\n|\r/", "\n", $_REQUEST["body"] );
としてから
$_REQUEST["body"] = preg_replace ( "/\n/", "<br>", $_REQUEST["body"] );
として改行を置換しましょう。
    • good
    • 0
この回答へのお礼

ありがとうございました。
おかげで無事解決しました。

お礼日時:2007/06/18 22:45

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