Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> textarea - Преобразование <br /> в "\n", 1 <br /> - 2 \n 
:(
    Опции темы
patience
Дата 10.9.2007, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 18.9.2006

Репутация: нет
Всего: нет



Проблема вот в чём: 

при добавлении информации из textarea в БД, она изменяется. Происходит  замена bb кода на html сущности + замещаются всё переводы строк функцией nl2br(). Всё работает...
При извлечении информации происходит обратное преобразование html сущностей в bb код и вывод в textarea, но  вместо одного <br /> получаю два "\n"

т.е. если в БД было отправлен текст типа:

Код

1 [I]2[/I] 3 [I]4 5[/I] 6
[CENTER]10[/CENTER]
[RIGHT]20 30 40[/RIGHT]


При извлечении этого же текста в текст арию получаю:
Код

1 [I]2[/I] 3 [I]4 5[/I] 6

[CENTER]10[/CENTER]

[RIGHT]20 30 40[/RIGHT]


после каждой строки получем +1 "\n" в чём проблема?

Преобразование проводятся используя след. код, участок отвечающий за преобразование <br /> в "\n"
Код

$patterns = array("/(?:\<br \/\>)/mis", ...);                  
$replace = array("\n", ...);    
$infa = preg_replace($patterns, $replace, $infa);        





PM MAIL   Вверх
sTa1kEr
Дата 10.9.2007, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



patience, это происходит из-за того, что функция nl2br() ставит тэг <br /> перед разделителем строки.
Цитата

Returns string with '<br />' inserted before all newlines.

А вы при обратном переобразовании заменяете <br /> на еще один \n.
PM MAIL   Вверх
patience
Дата 10.9.2007, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 18.9.2006

Репутация: нет
Всего: нет



sTa1kEr, ...спасиб...будим  исправлять..., чёт не дочитал в мане )

Это сообщение отредактировал(а) patience - 10.9.2007, 17:14
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0797 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.