textarea

7 отговора 315 прегледа
#1

textarea

Имам textarea и искам форматирания текст в нея /форматиран само с нови редове и интервали/ да се съхрани в база и после да се извежда както е бил текстовия контейнер.

$descr = nl2br($descr); - отчита само новите редове, но игнорира интервалите

Примерно имам 4 интервала в началото на реда, за начало на абзац, те се игнорират, ПОМОГНЕТЕ

Благодаря предварително!

Отговор
в отговор на fenka #2

Re: textarea

Повече от един интервал се игнорират. Опитай да ги замениш с & n b s p ;

Отговор
в отговор на lazo #3

Re: textarea


$desc = str_replace(" "," ",$desc);
$desc = str_replace("\n ","<бр>",$desc);

Успех

Смени бр с br

Редактирано от Sanndo на

Отговор
в отговор на Sanndo #4

Re: textarea

вместо стринг реплайс използвай htmlentities така се защитаващ и от писане на хтмл код в текстовото поле
за новите редове използвай nl2br

Break The UnBreakable
Отговор
в отговор на Sanndo #5

Re: textarea

Благодаря за помощта

Отговор
в отговор на Sanndo #6

Re: textarea

Не съм много съгласен Sanndo,

първия ти ред код заменя всеки интервал с &nbsp;Когато напишеш параграф от текст(имам в предвид повече от едно изречение без нов ред), параграфът ще се изведе като много дълъг ред, защото браузера ще го разпознае като една дума. Ползвай следното:

$desc = str_replace("__","_&nbsp;",$desc);

като _ e един интервал(сложил съм ги за да се виждат че са 2 броя)

Посети eAdvise

Редактирано от Beнeлин Paнreлoв на

Отговор
в отговор на fenka #7

Re: textarea

Гледам че са ти дали разни варианти. Хайде и от мен един:

echo "<xmp>$descr</xmp>";

Редактирано от Borko на

Отговор
в отговор на Beнeлин Paнreлoв #8

Re: Прав си ;)

Признавам си, че си прав . Идеята с двата интервала е яка.
Не се бях замислил...

Отговор