|
Пишем на PHP: Добавляем текст в базу (начало)Руслан Курепин
Что ж... обещания принято выполнять. Сегодня пишем
процедуру добавления в базу нашего сайта нового текста. По крайней мере —
начнем писать. На самом деле, храните тексты просто в двух видах. Тогда ничего выгрызать или заменять не придется. При сегодняшних объемах дискового пространства это вполне доступно. В данном случае я просто хочу оставить за собой повод вернуться к "парсингу", когда дойдем до почтовых рассылок или чего-то подобного. А что нужно, чтобы привести текст к html-виду? Для это надо заменить управляющие спецсимволы html-тэгами. Хочу вам дать еще один совет. Не сильно важный, но может пригодиться. Прежде чем превратить символы А в символы Б, попробуйте превратить символы Б в символы А — вдруг они уже есть и могут где-то спутать нам карты. Предлагаю такие условия для добавляемого текста: 1. Текст не должен превышать 100Кб. 2. Текст не должен быть короче 100 символов. 3. Подгружаемый текст не должен иметь html-тэгов и спецсимволов, кроме: <a>, <b>, <i>, <u>, <img>... м-м-м-м... <div>. Хватит пока. Все остальные символы мы просто выкинем в помою. Попробуем реализовать задуманное.... В общем-то, это все. Только не забывайте описывать ошибки: $err[26]="Текст слишком короткий"; $err[27]="Текст слишко длинный"; На что следует обратить внимание в этой функции. Первой строкой мы выкидываем все html-тэги из текста, кроме тех, что указали в кавычках. Это очень удобная функция PHP. Ибо моделировать этот процесс обычным регекспом — не самая простая задача. Второй строкой мы перед каждым переносом строки (EOL — "\n" — Enter) добавили тэг <br>, указывающий браузеру на перенос строки. Вынужден признаться: никогда в жизни не пользовался функцией nl2br(). И вам не советую. Она вам вместо <br> наставит XHTML-совместимых <br />. Оно вам надо? Замените эту функцию простейшим регекспом: $this->in_text=preg_replace("/\n/","<br>\n",$this->in_text); и всего делов. И вот только теперь (прошу обратить на это особое внимание) мы замеряем размер нашего текста. Только после того, как мы все выкинули и все добавили. Ну что ж, данные мы приготовили, можно теперь добавить их в базу сайта. Но это уже не сегодня — вынужден сворачиваться. До завтра!
|
Copyright © <LMTH>. Все материалы являются собственностью их авторов.
При перепечатывании ссылка на http://www.magaz.org/ как на источник информации обязательна. Правила использования материалов журнала |