0

テキスト領域にテキストを入力してから送信を押すと、現在の画面に表示される簡単な日記のウェブサイトを作成しようとしています。次に、テキスト領域にさらにテキストを入力できるようにしたいのですが、送信を押すと、新しい行に表示されます。test、test1、test2 の 3 つの文字列を送信すると、次のようになります。

Yes the test still works This is a test the test was successful This is a test

この出力が欲しい

This is a test
the test was successful
Yes the test still works

ここに私のphpがあります

<?php
$msg = $_POST["msg"];
$posts = file_get_contents("posts.txt");
chmod("posts.txt", 0777);
$posts = "$msg\r\n" . $posts;
file_put_contents("posts.txt", $posts, FILE_APPEND);
echo $posts;
?>
4

1 に答える 1

0

echo nl2br($posts); を追加してみてください。代わりは。HTML は改行文字を認識しません。

ファイルから最後の \r\n を削除することをお勧めします。または、次の手順を実行して、下部の不正な行を削除します。

// take off the last two characters
$posts = substr($posts, 0, -2));

// convert the newlines
$posts = nl2br($posts);

// output
echo $posts;

誤った投稿の問題を修正するには:

// get the message
$msg = $_POST["msg"];

// store the original posts from the file
$original_posts = file_get_contents("posts.txt");

// set permissions (this isn't really required)
chmod("posts.txt", 0777);

// prepend the message to the whole file of posts
$posts = "$msg\r\n" . $original_posts;

// output everything
echo nl2br($posts);

// write the entire file (no prepend) to the text file
file_put_contents("posts.txt", $posts);
于 2013-12-06T00:13:46.247 に答える