web-dev-qa-db-ja.com

php :: textareaの新しい行?

PHP経由でテキストを挿入するときに、textareaに新しい行をどのように作成しますか?

\nしかし、それは文字通りtextareaに出力されます。

ありがとう

22
Hailwood

あなたのコードを見ないと確信が持てませんが、私の推測では、二重引用符( "\ n")の代わりに単一引用符( '\ n')を使用しています。

PHPは、文字列が二重引用符で囲まれている場合にのみエスケープシーケンスを評価します。 '\ n'を使用する場合、PHPはそれをリテラル文字列として扱います。 "\ n"を使用する場合、PHPは文字列を解析します変数とエスケープシーケンスを使用して、期待どおりに新しい行を出力します。

69
Alan Geleynse

試す

$text = 'text line one' . PHP_EOL . 'text line two';
echo '<textarea>' . $text . '</textarea>';

Textareaの別々の行に各テキストを追加します。

6
OzzyCzech

PHP側:Textarea文字列からPHP文字列

$newList = ereg_replace( "\n",'|', $_POST['theTextareaContents']);

PHP側:PHP string TextAreaに戻る文字列:

$list = str_replace('|', '&#13;&#10;', $r['db_field_name']);
6
cssyphus

Alay Geleynseの発言は正しかった。私はあなたと同じ問題を抱えていたが、問題はエスケープ文字(\ r、\ n)が原因だった。変数を「エスケープ解除」するには、$var = stripcslashes($var)を使用しましたが、正しく表示されます

1
Va1iant
1
Phill Pafford

利用した \p(テキストファイルの場合)。試す

0
zod