Forum Webscript.Ru

Программирование => PHP => Тема начата: Vetroff от 21 Июня 2003, 16:35:32

Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Vetroff от 21 Июня 2003, 16:35:32
как лучше всего подготовить текст для бд, кроме добавления слэшей, обрезания лишних пробелов по концам и стрипа хтмл, - что еще посоветуете сделать?
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Yukko от 21 Июня 2003, 16:43:58
Загрузить его наконец в БД :)
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: FreeSpace от 21 Июня 2003, 16:51:49
Vetroff
В принципе, перечисленого тобой вполне хватит.
Хотя если текст очень здоровый, а места под БД отведено мало, то можешь сжать его gzip\'ом.
Правда тут ты должен определить, что для тебя важнее: экономия места или производительность.
Хотя это уже отдельная тема...
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Меняздесьдавнонет от 21 Июня 2003, 17:14:43
для БД из всего перечисленного нужно только одно - добавить слеши.
И то - ТОЛЬКО в том случае, если РНР не добавил сам.
Базе абсолютно по барабану твои пробелы и хтмл.

Учись правильно формулировать свои вопросы. тогда ответ и сам найдешь найдешь и отвечающим будет легче.
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Макс от 21 Июня 2003, 17:22:00
имхо имеет смысл еще проверять длинну текста (через strlen()) а в остальном RomikChef прав (ИМХО)
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Yukko от 21 Июня 2003, 17:53:03
Цитировать
RomikChef:
Базе абсолютно по барабану твои пробелы и хтмл

Именно, но текст в базе для чего-то нужен (например для вывода в броузере), поэтому от пробелов надо избавляться, делать это либо при вводе, либо при выводе, обычно делают при вводе, вот он такой вопрос и задал.
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Меняздесьдавнонет от 21 Июня 2003, 19:34:38
Yukko
мальчик, у тебя с головой совсем плохо.
Учи логику, хотя бы житейскую.

Макс
Без ответа на вопрос, ДЛЯ ЧЕГО это нужно, все комментарии бессмысленны.
Как раз для базы проверять длину не надо - она сама все отрежет.
А для вывода - надо знать, куда он пойдет.

понимаешь? можно миллион действий с текстом сделать. на другой язык перевести. по емейлу отправить, вырезать каждое второе слово, а остальные покрасить в зеленый цвет.
но прежде, чем делать, надо знать - ДЛЯ ЧЕГО

Все что я хочу от человека - это чтобы он научился формулировать для себя свои задачи. Это очень помогает в программировании. И именно этого не хватает нашему другу Yukko

даже для вывода в веб есть миллион разных вариантов.
Есть люди, которым можно постить хтмл, а есть - которым нельзя. И этот статус может меняться.
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Макс от 21 Июня 2003, 21:01:10
Цитировать
Как раз для базы проверять длину не надо - она сама все отрежет.
все верно. Но не ты ли говорил, что нужно бережно относится к данным юзера и без лишней надобности не вносить в них лишних автоматических изменений ? :)
Пусть лучше юзер сам удалит лишний текст.

Хотя вообщем-то ты конечно прав:
Цитировать
прежде, чем делать, надо знать - ДЛЯ ЧЕГО
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: FreeSpace от 21 Июня 2003, 22:38:56
Макс
Полностью согласен, кроме одного:
Цитировать
Пусть лучше юзер сам удалит лишний текст.

Если только этот лишний текст не пара пробелов или переносов строки в самом конце.
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Xander от 21 Июня 2003, 22:40:02
FreeSpace
ну пробелы, ну переносы.
и что с того?
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: FreeSpace от 21 Июня 2003, 22:42:04
Xander
Ну если будет пара переносов, а при выводе юзается nl2br, то можно, например, некрасиво растянуть новость и т.п.
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Xander от 21 Июня 2003, 22:47:54
в общем это нюансы.
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: FreeSpace от 21 Июня 2003, 22:49:50
Xander
Согласен, но от trim()\'a хуже никому не будет (если это конечно обычный текст, а не какие-то строго форматированные данные).
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Vetroff от 22 Июня 2003, 00:16:47
Вообщем, сколько людей столько и мнений, кто-то предпочитает форматить при вводе, кто-то при выводе, это уж действительно смотря ДЛЯ ЧЕГО делается
Подводя итог, можно сказать, что как минимум addslaches  и trim при воде простого текста, а все остальное лучше делать при выводе...
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Макс от 22 Июня 2003, 00:35:29
FreeSpace
Цитировать
Если только этот лишний текст не пара пробелов или переносов строки в самом конце.
у меня на это своя проверка:
if (preg_match("~\\\\S{30,}~", $text)) {
   $errors[\'text\'] = "Извините, но вы не можете использовать в тексте слова, длиннее 30 символов";
} :)
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Vetroff от 22 Июня 2003, 00:43:40
Макс

Цитировать

у меня на это своя проверка:
if (preg_match("~S{30,}~", $text)) {
___$errors[\'text\'] = "Извините, но вы не можете использовать в тексте слова, длиннее 30 символов";
}

вот за это решение - огромное спасибо!!!
Это действительно проблема - но мне никогда не приходило в голову решить ее так!!!!
Спасибо!!
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Макс от 22 Июня 2003, 00:51:09
Vetroff
Цитировать
if (preg_match("~S{30,}~", $text)) {
там форум слеш съел перед S
Должно быть :
if (preg_match("~\\S{30,}~", $text)) {
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Yukko от 22 Июня 2003, 07:05:58
Цитировать
RomikChef:
Yukko
мальчик, у тебя с головой совсем плохо.
Учи логику, хотя бы житейскую.

Не хами! Используй более уважительную лексику при обращении к людям с которыми общаешься! Потому что я могу ответить в твоем же стиле: научись быть вежливым, хотя бы на этом форуме!!! а то получается, что на весь форум про РНР только у одного тебя есть логика. Вопрос не был задан с конкретной формулировкой задачи, поэтому ответ нельзя оценивать, как объективный для всех случаев. В конце концов от подобного комментария человек воспитанный и умный просто бы отказался, бери пример с Теоретика!!!
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Меняздесьдавнонет от 22 Июня 2003, 09:40:37
Цитировать
Vetroff:
Подводя итог, можно сказать, что как минимум addslaches

повторяю.
Только если сам РНР не добавил. Иначе вместо пользы ты получишь вред.

про то - кода что делать, не было написано ни слова. Вообще.
Было написано тольк про то, что надо думать - что ты делаешь.

Вот я, например, как правильно, но не в тему,  вспомнил Макс, действительно, очень трепетно отношусь к данным, и стараюсь их без нужды не портить.
Но вот когда пишется простая гостевушка на текстовом файле, я без тени сомнения заеняю переводы строк на
.

Так надо.
потому, что я исхожу не из догмы, а из текущих потребностей.
Надо определиться с потребностями, а потом уже решать, что делать.

Для БАЗЫ, повторюсь, трим не имеет никакого значения.
Ну определись ты - для чего тебе нужно то или иное действие.
Трим ты делаешь чтобы текст не растягивался, а не для базы, понимаешь?
а вот слеши - это именно для базы.

Макс, опять пробел в логике :-)
в данном случае я говорю не о данных, а о базе.
Что ДЛЯ НЕЕ нужно делать, а что - нет.
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Michel_Mak от 23 Июня 2003, 09:58:55
Цитировать
Извините, но вы не можете использовать в тексте слова, длиннее 30 символов

А почему бы не использовать maxlength="..." ?
А если еще поставить счетчик символов на жаваскрипте, то пользователю будет достаточно проще понять сколько символов он может использовать.
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Vetroff от 23 Июня 2003, 10:04:06
Цитировать
Michel_Mak:
А почему бы не использовать maxlength="..." ?
А если еще поставить счетчик символов на жаваскрипте, то пользователю будет достаточно проще понять сколько символов он может использовать.

бывают случаи, когда важно не кол-во знаков вообще а именно длина слова, скажем стоит текстовое поле в него надо ввести минимум  300 символов, юзер берет и вводит букву п -300 раз, представляешь как разосрется у тебя текст при выводе из бд, пробелов нет - перенсти нельзя
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Меняздесьдавнонет от 23 Июня 2003, 11:07:44
Ветров, а ты ведь так и не сформулировал свои потребности.
Очень жаль.
Очень.
Этим ты бы помог в первую очередь себе.

Прежде, чем напишешь хотя бы строчку кода, надо сначала научиться формулировать - что ты все-таки, хочешь.

Нет, все давно догадались, что пишешь ты обычную гостевую или что-то в этом роде.
Но не стоит расчитывать на телепатические способности участников форума. ДУМАТЬ за тебя все равно никто не будет. Надо учиться самому.
Тогда же ведь и ответ сам найдется - что делать, а что нет.
Надо просто понимать, что делаешь это ты не для базы, а для вывода непроверенной информации в браузер.
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Vetroff от 23 Июня 2003, 11:30:44
RomikChef
да нет, ворпос не жизнено важный, просто подумал, может я чего не так делаю, может еще что-нить надо с текстом сделать при загрузке в бд, задача - проста, ввод и вывод литпроизведений
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: FreeSpace от 23 Июня 2003, 13:22:45
Vetroff
Если под литпроизведения на твоем сайте подпадают и стихи, то  тут наоборот всё сложнее.
Никаких trim()\'ов уже делать нельзя, потому что многие авторы любят форматировать стихи под собственный стиль, со всякими выравниваниями по правому краю и так далее.
По своему опыту могу сказать, что мне для этих целей хватило разрешить табуляцию (предупредил авторов, что стихи надо вставлять копи-пейстом из Ворда или ещё откуда) и множественные пробелы, хотя можно было добавить ещё , и
.
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Меняздесьдавнонет от 23 Июня 2003, 13:52:15
Ветров, я говорю не о проблеме твоей.
мне вообще плевать - в базу ты свою литературу помещаешь, вили в мировую энтропию, где ей и место.
Я всего лишь говорил о том, что нужно думать головой.
но, видимсо, это до тебя никогда не дойдет.
На сем попытки прекращаю.

напоследок - анекдот
Цитировать
поставили ученые эксперимент над обезьяной и человеком. посадили каждого из них в отдельную большую закрытую клетку с банановой пальмой. обезьяна прыгнула раз, прыгнула два - не достает. потом нашла палку и стала сбивать бананы палкой...
человек прыгал час, прыгал два - не достает. ученые шепчут ему - человек думай! человек остановился, перевел дух и кричит - чего тут думать? прыгать надо!!!
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Vetroff от 23 Июня 2003, 14:05:13
Цитировать
RomikChef:
Ветров, я говорю не о проблеме твоей.
мне вообще плевать - в базу ты свою литературу помещаешь, вили в мировую энтропию, где ей и место.
Я всего лишь говорил о том, что нужно думать головой.
но, видимсо, это до тебя никогда не дойдет.
На сем попытки прекращаю.

что ж так грубо, я уже давно все понял  и вообще тему давно пора уже закрыть, сабж исчерпан полностью - начались какие-то гнилые перепалки
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Vetroff от 23 Июня 2003, 14:06:52
FreeSpace
множественные пробелы я тоже сделал, а концевые пробелы все же надо обрезать, иногда это становится проблемой
Название: Как правильно подготовить текст для загрузки в бд
Отправлено: Alexandr от 24 Июня 2003, 08:59:47
http://forums.webscript.ru/showthread.php?s=&threadid=7918