|
Веб-курсы Что это? Оглавление Основы Основы основ Практика Гостевая книга Простой сайт Структура сайта (MVC) Ядро (Light) Ядро Гостевая на SQL Статические страницы Модуль новостей Система регистрации Теория Дебаггинг Регулярные выражения Введение в ООП Паттерны проектирования Репозитарий BB-code Почтовый класс Пагинатор Всякие полезности Download Полезные утилиты Разное Видеокурсы Последние изменения Вопросы и замечания сюда Реклама Диеты для похудения Фреймворк Kohana. Обучение. Мануал на русском. |
Шаг 2Длинное словоМы живем в несовершенном мире. И люди не всегда благочестивы и законопослушны. Особенно молодежь. Так и норовят что то испортить или поломать.А если мы на сайт поставим такой скрипт, очень скоро найдется "умелец" и обязательно запостит оооочень длинное слово. В таком случае верстка расползется и появится горизонтальеый скролл. Можете сами посмотреть на тесте, который мы изготовили на прошлом занятии. Так вот, чтобы обезопасить сайт от таких вандалов, нужно разорвать такие слова переносом строки. В PHP есть для этого специальная функция wordwrap()/ Однако у неё есть два недостатка, которые не позволяют использовать эту функцию в нашем скрипте. Первый - она режет не только длинные слова, но и предложения. А значит нарушает оригинальное форматирование. А второй еще серьёзнее - она не умеет работать с многобайтными кодировками. И по этому на местах разрывов слов будут появляться всякие непотребности. Чтобы сделать все красиво, придется нам написать свою функцию, аналог wordwrap(), но лишенную этих недостатков.
Всё очень просто. Регулярное выражение составлено так, что после определенного количества символов, если в них не входит пробел, вставляет символ разрыва (по умолчанию перенос строки). Ну вот, теперь можно дополнить наш скрипт этой функцией и попробовать в действии:
Теперь поломать дизайн длинными словами не выйдет, как не старайся. Однако есть еще куча способов, как попортить нам кровь. Но и мы не лыком шиты, придумаем способы борьбы с этим нехорошим явлением - вандализм. |