Проблем с nl2br()

tu6o

Registered
Функцията върши страхотна работа, но когато се наложи да кача новина с таблици остават много на брой празни редове, което никак не е удобно. Как може да се избегне това?
 
Малко странен въпрос. Ето ти едно подходящо решение, но ми се струва, че някъде в системата ти има проблем...

$tekst=str_replace("\n\n", "\n", $tekst);

По този начин обръщаш всички двойни редове в единични. Ако понякога ти излизат повече от 3 реда, прекарай текста 2 пъти през тази функция.

Повече за str_replace():
http://bg2.php.net/manual/en/function.str-replace.php

Това е което ми хрумва като решение. Все пак, съветът ми е да си провериш формата и последващата обработка...
Не знам, кога използваш nl2br(); - дали преди да запишеш низа в БД или след това, но моят съвет е да го правиш при принтиране...

Дано съм помогнал. :)
Успех!
 
При запис в БД използвам функцията и при извеждане се получава нещо подобно на:

Код:
<table><br />
<tr><br />

<td><b>Column 1</b></td><br />
<td><b>Column 2</b></td><br />
<td><b>Column 3</b></td><br />

</tr><br/>

</table><br/>

и като се съберат повечко редове има да скролираш....

Така че това, което ти предлагаш май няма да се получи.

опитах с preg_match(), но какво би станало ако в елемент <table> има друг такъв? : (
 
Сега разбрах :(
Няма ли някакъв начин да отделиш текста от таговете?
С регулярни изрази е възможно да се премахнат новите редове, но не ми се струва много практично, а и ще трябва да слагаш някакви маркери... :(
В момента не ми хрумва удачно решение, но ще помисля...
 

Back
Горе