|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Пользовательский ввод - не позволить рвать страничку. |
|
Пользовательский ввод - не позволить рвать страничку.
|
Engrossed by the Void Сообщения: 2229 |
Профиль | Отправить PM | Цитировать В самом деле - проклятие . Доброго времени суток всем.
Опишу задачку. Имеется табличка оформляющая, скажем, комментарий пользователя по какому-нибудь творению, в общем комментарий: ****************************** * * * * * * * * * * * * * * * * * * * * * * * * * ** * * *ник * * * ** ** * * * *о себе * * ** * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * ****************************** * * * * * * * * * * * ** * * * * * * * * * * * * * ** * * * * * * * * * * * ** * * * * * * * * * * * * * ** * * * * * * * *комментарий * * * * * * ** * ** * * * * * * * * * * * * * * * * * * * ** * * * * * ** * * * * * * * * * * * * * * * * * * * ** * * * * * ** ****************************** Таким образом, если все нормально, то все собственно и нормально . Таблица не едет, страничку не рвет. Но стоит человеку ввести в поле "фио" строку не содержащую ни одного пробела, пусть даже и допустимой длины (естественно, что все поля имеют такое ограничение), то ячейка [1, 1] растягивается и тащит вправо ячейку [1, 2], что сказывается и на ячейках [2, *]. В итоге табличка имеет уже не те размеры какие задумывались и вся страничка выглядит как после направленного взрыва . Вопрос собственно в том, чтобы предотвратить такую катастрофу. Можно вставлять пробелы через каждые X символов, но не слишком приятно видеть свое отчество как-нибудь так: "Стани слав", не идет. Какие символы не дают визуальных разрывов строки, но дают знать броузеру, что строку можно перенести - высота таблицы не имеет ограничения. Какие варианты, господа? [s]Исправлено: Prisoner, 6:17 19-08-2004[/s] |
|
------- Отправлено: 06:10, 19-08-2004 |
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать Цитата:
Возможен такой вариант: использовать знак переноса, чисто на воприятие строка не разбита, но перенесена, то есть: есть такая знаменитая фамилия Череззаборногозадерищенский, а если дальше ещё идёт Афанасий Матвеевич-то это слишком длинно, поэтому мы разрешаем максимум 20 символов в одной строке, и если в этой строке не последовало спейса, то ставим после 20 символа знак переноса "-" а всю остальную часть пишем с новой строки. Если же совсем углубиться в проблему, можно написать функцию, которая будет переносит по правилам русского языка, то есть по слогам (там вроде несложные правила ) (если такое ещё не написано) |
|
------- Отправлено: 11:54, 19-08-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать У меня была аналогичная проблема. С одной стороны наджо была не дать злым хакерам вставлять длинное-длинное слово и портить вид таблицы, с другой - надо было не разбивать длинные слова. В результате я разбиваю текст на слова и проверяю размер каждого(понятно, что 90 и 55 - это под размеры моей таблицы ):
function string_display_value($value, $n=90) { // вставляем разбиение длинного текста на слова $words = explode (" ", $value); $new_value=''; while (list ($key, $val) = each ($words)) { if(strlen($val) > 55) // если длина одного слова... $val = wordwrap($val, $n, "\n", 1); $new_value.=$val. ' '; } return $value == '' ? '<br>' : htmlspecialchars($new_value); } |
Отправлено: 13:19, 19-08-2004 | #3 |
pauluss
Сообщения: n/a |
Прошу пардона за оффтоп. Не могли бы вы пояснить последнюю строчку. Никогда не использовал такие конструкции.
Эквивалентно ли это такой записи? Что же касаемо темы беседы, то тут что-то к сказанному добавить ничего не могу. Кроме того, что рвать строчки там, где можно, врядли что то получится придумать. |
Отправлено: 17:51, 25-08-2004 | #4 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать pauluss
Цитата:
|
||
Отправлено: 22:20, 25-08-2004 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Верстаем страничку... | elena45 | Вебмастеру | 16 | 16-07-2009 15:53 | |
Защитить страничку вконтакте | Vienna7 | Защита компьютерных систем | 2 | 29-05-2009 01:03 | |
Первые результаты PDC 2008 – пользовательский интерфейс Windows 7 | OSZone News | Новости и события Microsoft | 15 | 31-10-2008 11:27 | |
Как позволить потребителю менять Database в VisualBasic6 | Miho | Программирование и базы данных | 1 | 12-10-2003 16:08 | |
Увидеть свою страничку | Trojn | Вебмастеру | 11 | 31-07-2003 14:25 |
|