Нов ред в <textarea> и след това запис в база данни...

t0m3kk

Registered
Искам да попитам това ли е най-удачният начин, за нов ред ?

Код:
<?php

echo "
<form method=\"post\" action=\"\">
<textarea name=\"text\"></textarea><br />
<input type=\"submit\" name=\"submit\" value=\"Submit\" class=\"button\">
</form>";

if(isset($_POST['submit'])) {
$text = $_POST['text'];
$text = str_replace("
", "<br />", $text);

echo $text;
}

?>

или има друг по-добър начин ?
 
Извинявай, но ти така както си го написал, след всяка нова дума ще слага <br /> ? За какво ти е това ?
 
ми при мен не слага след всяка нова дума <br /> сложил съм enter не space ;]
 
Ааа .. така може :D аз си мисля, че си сложил space, а това за какво ти е смисъл за по пригледен вид на текста ли ? То имаш две възможности ако не се бъркам за нов ред, \n или <br /> ..
 
записвам го в база данни и после като го изкарвам да седи така както съм го форматирал :) за това питам :)
 
Това е супер, но как трябва да се процедира при положение че аз използвам и фукцията htmlentities преди да изкарам резултата от базата данни? Нали разбираш, за по-голяма сигурност срещу някои атаки трябва да я ползвам а тя ще върне директно HTML тага <br /> без да го изпълни браузъра. Някои знае ли решението на този проблем?


MakeAWish каза:
PHP си има специална функция за такова нещо. Не е ли по-практично нея?
Код:
$text = $_POST['text'];
$text = str_replace("
", "<br />", $text);

Код:
$text = nl2br($_POST['text']);
 

Back
Горе