Система за новини - textarea проблем

sn1p3r

Registered
Здравейте, имам въпрос относно системата ми за новини. Когато пиша новина и пренасям на следващия ред не ми го отчиташе това. Този проблем го оправих като направих кода:
От:
Код:
$text  = htmlspecialchars($_POST['text']);

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

Но когато се редактира новината на всеки нов ред излиза

Код:
<br />

Ако може някой да нахвърли идеи как да не ми показва този br :)

Намерих нещо, но не съм го тествал:

Включва CSS код и сега ще ви го напиша как е да кажете дали си струва да опитам:



[css]#textarea{
word-wrap: break-word;
}[/css]

Код:
<textarea id="textarea" name="ime na tekstareata"></textarea>

Благодаря за отделеното време :P
 
Просто при изкарване слагаш nl2br :)
Примерно
PHP:
$new = $row[content];
echo "Novina s text:".nl2br($new);
 
Radko каза:
PHP:
 $text = preg_replace('/\<br\>/', "\r\n", $text);

и си готов

Замених при edit.php:

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

с

Код:
$text = preg_replace('/\<br\>/', "\r\n", $text);

Но така като променя остава празно text и няма новина.
 
Сега когато вкарваш информация в базата данни. Ти и пускаш функции htmlspecialchars и addslashes. При изкарването на информацията от базата данни не е нужно отново да пускаш htmlspecialchars, ами директно си го вадиш и слагаш nl2br(); и проблем ти няма да имаш.

Тъй като ти преди вкарването и при изкарването слагаш htmlspecialchars(); от там ти идва проблема.
 
eddyy93 каза:
Сега когато вкарваш информация в базата данни. Ти и пускаш функции htmlspecialchars и addslashes. При изкарването на информацията от базата данни не е нужно отново да пускаш htmlspecialchars, ами директно си го вадиш и слагаш nl2br(); и проблем ти няма да имаш.

Тъй като ти преди вкарването и при изкарването слагаш htmlspecialchars(); от там ти идва проблема.

Нямам никъде htmlspecialchars. И проблема ми е при редактирането на новината, че където е пренасял на следващия ред показва <br /> и потребителя трябва да изтрива този br иначе пренася още 1 ред.
 
sn1p3r каза:
Radko каза:
PHP:
 $text = preg_replace('/\<br\>/', "\r\n", $text);

и си готов

Замених при edit.php:

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

с

Код:
$text = preg_replace('/\<br\/\>/', "\r\n", $text);

Но така като променя остава празно text и няма новина.

Ми защото си махаш $_POST['text'] и откъде мислиш ще дойде текста?

Просто добави това дето ти дадех след твоето $text и ще стане, не го заменяй ...
 
PHP:
// Когато вкарваш в базата данни
$text = htmlspecialchars(addslashes($_POST['text']));

//Когато изкарваш от базата данни предполагам ползваш цикъл while() и в сучея кодати ще стане така
$sql = Заявката ти 
while($row = mysql_fetch_assoc($sql)) {
$text = nl2br($row['text']);
}

Също така няма да е грешка и да ползваш nl2br() когато вкарва информация в базата данни
 

Back
Горе