Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скрипт форматирования textarea-текста
 
 автор: DDK   (16.11.2005 в 14:11)   письмо автору
 
 

Уважаемы, у самого, к сожалению, нет ни времени, ни желания изобратать велосипед... Ситуация такая - есть редактор статей. Редактирование происходит в <textarea>, затем просто пишется в базу в таком виде, в котором она получена из <textarea>. Проблема в том, что при выводе статьи на страницу, текст статьи хаключается в параграф (<p>$text</p>) и, соответственно, всё формтирование текста (переносы строк, табуляция) утрачивается. Тег <pre> для меня, к сожалению, не выход, так что прошу не предлагать. Собственно, нужны два парсера - первый, который сидит в записывающем в базу скрипте и заменяет переносы строк и табуляцию на <br> и HTML-символ табуляции (какой он кстати ?!). Второй скрипт - который делает обратное первому действие, т.е. преобразует <br> в \r\n, а символы табуляции в табуляцию... Второй скрипт нужен на тот случай, когда придётся редактировать текст статьи в том-же <textarea> окне. Может, кто сталкивался с этим и есть уже готовые функции для этого ?

   
 
 автор: cheops   (16.11.2005 в 14:19)   письмо автору
 
   для: DDK   (16.11.2005 в 14:11)
 

Обычно так и поступают, хранят информацию в том виде, которая она поступила из textarea в базе данных - поэтому не возникает никаких проблем с редактированием её в textarea. А вот при выводе на страницу текст пропускается через функцию nl2br(), который и заменяет переводы строк тэгом <br>.

   
 
 автор: DDK   (16.11.2005 в 14:31)   письмо автору
 
   для: cheops   (16.11.2005 в 14:19)
 

Ладно... верю, может так и делают, но для меня основной задачей было сохранить табуляцию :) Спасибо, я вроде бы решил проблему :) Всё оказалось проще, чем я думал...

   
 
 автор: DDK   (16.11.2005 в 14:34)   письмо автору
 
   для: DDK   (16.11.2005 в 14:31)
 

Ах, да, вот ещё вопрос - нигде не смог найти, какой символ (типа &nbsp;) в HTML заменяет табуляцию (примерно равен последовательности из 7-8 &nbsp;). Но уверен, что он еть ! :) Кто подскажет ?

   
 
 автор: elenaki   (16.11.2005 в 14:35)   письмо автору
 
   для: DDK   (16.11.2005 в 14:34)
 

тега табуляции в HTML нет. в тексте он - \t. а nl2br - не заменяет переводы строк на тег br,
он вставляет тег br перед каждым символом перевода строки. вставка и замена - разные
вещи, нельзя их путать.

   
 
 автор: DDK   (16.11.2005 в 14:44)   письмо автору
 
   для: elenaki   (16.11.2005 в 14:35)
 

Да, путать нельзя, но разница ведь отразится на красоте выводимого HTML-кода, а не на качестве (хотя, я считаю, что это эквивалентные понятия).

   
 
 автор: elenaki   (16.11.2005 в 15:28)   письмо автору
 
   для: DDK   (16.11.2005 в 14:44)
 

разница может сильно подпортить жизнь, если используется java-script

   
 
 автор: Киналь   (16.11.2005 в 16:14)   письмо автору
 
   для: elenaki   (16.11.2005 в 15:28)
 

Точно-точно! Из-за этой мелкой пакости пришлось даже функцию извращенскую писать, с urlencode и urldecode...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования