смайлики. Часть 2.
В прошлой статье я писал, как добавить к текстовому полю формы JavaScript, который добавляет в форму BB-код смайлика...
Добавляем в форму смайлики
На самом деле добавить в форму гостевой книги или комментариев смайлики не так сложно, как кажеться — нужно...
Вред от XHTML 1.0 Strict
Мода на «web 2.0», стремление подогнать сайты под какие либо стандарты вынуждают web-мастеров идти на...
Устройство тем оформления
Учебное пособие: делаем собственную тему оформления (шаблон) для системы управления сайтом Natali. Подробное описание методики интеграции своего дизайна в систему управления сайтом.
смайлики. Часть 2.12 апреля 2008В прошлой статье я писал, как добавить к текстовому полю формы JavaScript, который добавляет в форму BB-код смайлика при клике по картинке, здесь же расскажу о том, что нам с ними, этими BB-кодами делать дальше, а именно — как их обработать в PHP-скрипте. Сразу хочу обрадовать — никакого кошмара про регулярные выражения в статье не будет. Да и зачем они? Перед нами по-сути стоит весьма простая задача — преобразовать конкретный набор символов на столь-же определенный тег со ссылкой на изображение. В этой статье я воспользуюсь формой со смайлами из первой части урока — «Добавляем в форму смайлики». Допустим, пользователь ввел текст в нашу форму, и PHP-скрипту на обработку «досталась» переменная $variable с таким значением: $variable = "Привет, как дела? :) А я вот тут к вам пришел :smoke: Вот так 8)";
Теперь наша задача — преобразовать «символосочетания» :), :smoke: и 8) в HTML-теги <img src="чего то там....">. Этим займется функция strtr. Выражаясь простым языком — эта функция просто заменяет одно на другое. Ее незаменимая способность — замена в массивах, и именно этим мы и воспользуемся, написав массив наших символов и теги картинок, на которые мы их будем заменять. Вот как это будет выглядеть: $variable = strtr($variable, array(
В принципе, это все — нужного результата мы добились, но чаще всего бывает, что смайлики требуются не в одном скрипте, а в нескольких (гостевая книга, комментарии в новостях, в статьях и т.д.), и переписывать один и тот же код много раз может надоесть. По этому мы немного «усовершентсвуем» наш код, превратив его в функцию. Эту функцию необходимо записать в какой-либо файл, подключаемый ко всем скриптам — как правило, в любой нормальной системе управления сайтами таковые имеются. Если нет — то можно создать отдельный php-файл с этой функцией и подключать его к нужным скриптам командой include или require. Собственно, сама функция: function replase_smile($variables){
Теперь нам остается только обработать нужную переменную нашей функцией: $variable = replase_smile($variable);
Вот теперь — действительно все. Надеюсь, это принесет какую либо пользу ;) . Дополнительно:
|