![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Wolf1994 |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 7 Всего: 29 |
Не понимаю как работает собственная гостевая
Вот пример:
Результат работы - строка не переносится. Но, если поменять stripcslashes со stripslashes местами:
То - перносится. Интересно, что в гостевой перенос нормально осуществляется и в первом случае. Может дело в том, что там скрипт работает с переменными из базы MySQL... но на моём форуме тоже с переменными MySQL такой эффект происходит только во втором случае. Уверен, что загадка решается гениально просто, но сам ничем объяснить это не могу. |
||||
|
|||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
А зачем?
1. С помощью htmlspecialchars ты заменил все < > & и т.п. на их коды, это правильно. 2. С помощью mysql_escape_string ты проэскепил строку под MySQL. 3. Через str_replace ты можешь заменить \n\r на <br>, но ты stripslashes отменяешь mysql_escape_string, что не нужно. 4. Когда ты меняешь \n\r на <br> надо менять на <br>\n, т.к. чтобы при последующем редактировании файла у тебя не было бы всего кода в одну строку. |
|||
|
||||
| Wolf1994 |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 7 Всего: 29 |
На самом деле, эскапирую я строку при внесении в базу, а удаляю лишнее при выводе информации на экран. Это просто я привёл всё сразу для демонстрации принципа.
При редактировании файла я просто беру из базы строку как есть, до выполнения str_replace на <br>. Похоже я действительно встретился с очень сложной, хотя и легко обходимой проблемой. Но всё-таки я во всём этом запутался. Как можно объяснить что от перестановки stripов "str_replace ("\r\n", "<br>", stripslashes(stripcslashes($temp)));" либо срабатывает, либо нет? |
||||
|
|||||
| Mal Hack |
|
||||||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
А зачем ты вообще это делаешь? При вставке в БД у тебя должн быть:
При выимке и редактировании:
При выимке и показе пользователю:
Все. |
||||||||
|
|||||||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 7 Всего: 29 |
Да. Я делаю всё как ты описал. stripы я применяю именно при выимке из базы. Всё в одну кучу собрал чтобы было нагляднее тестировать. Кстати, я заметил, что при отображении stripCslashes не подсвечивается - может это вообще "левая" функция.
|
|||
|
||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Нет не левая.
|
||||
|
|||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 7 Всего: 29 |
Теперь понятно почему деформируются тэги \r\n. Но у меня на хостинге без stripCslashes, почему-то не вырезаются обычные слэши - /
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
мистика, быть того не может. |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 7 Всего: 29 |
Да. Но именно этой функцией мне порекомендовали пользоваться, когда я написал, что stripslashes работают у меня только на Денвере, а на хостинге почему-то не срабатывают. Я сделал как сказали и, заработало! Если говорить о мистике, то вот пример с которым я столкнулся 10 минут назад: "strlower" срабатывает на хостинге только для латиницы.
|
|||
|
||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
|
||||
|
|||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 7 Всего: 29 |
Спасибо. По крайней мере, одна проблема разрешилась.
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |