Уважаемые читатели сайта Ajaxs.ru

Очень рад что вы зашли на мой сайт. Надеюсь, Вы сможете найти здесь для себя полезную информацию. Зарегистрировавшись на сайте вы получаете ряд преимуществ:
1. При комментировании Вам не нужно вводить имя и капчу с картинки
2. Вы можете получать уведомления на Email к интерисующим вас урокам
3. Вы можете редактировать свои комментарии

Вход на сайт


Забыли пароль



Восстановление пароля


Войти на сайт

Зарегистрироваться

Главная / Уроки по PHP / Просмотр урока

     

Создание сайтов


Вам нужен небольшой сайт или просто хотите доработать уже существующий? | Подробнее

Замена текстовых смайликов на графические

Посещая форумы в поисках решения как-либо проблем или читая комментарии на сайтах Вы наверно встречались с таким явлением, когда кто-то оставляет сообщения или комментарий и вставляет туда текстовые смайлики, то они превращаются в графические. Как же это делается? Все очень просто такую замену можно осуществить с помощью простой функции на php - str_replace(). Допустим у вас есть некоторый текст:

Пример

$text = "Очень часто мой читатель задается вопросом, а можно ли установить свой тип шрифта, допустим, какой-то экзотический :-). Можно, но ваш посетитель его не увидит, т.к. на его компьютере этого шрифта, возможно, нет 8-P. Конечно, можно предложить вашему посетителю загрузить этот чудесный экзотический шрифт, когда посетитель зайдет на вашу страницу. Но большинство ваших посетителей отклонит такое предложение, т.к. никому не захочется закачивать несколько лишних мегабайт на свой компьютер ради ваших капризов :-|. И в итоге, ваш посетитель увидит вместо вашего экзотического шрифта другой шрифт, который может быть просто ужасным :-(.";

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

 

$smail = array(":-)", ":-|", "8-P", ":-(");

$grafic = array("<img src='smail/big_grin.png' alt='Радуется' align='middle'>",
"<img src='smail/dumbfounded.png' alt='Грустный' align='middle'>",
 "<img src='smail/crazy.png' alt='Класно' align='middle'>",
 "<img src='smail/evil.png' alt='Недоволен' align='middle'>"
);

Ну вот, теперь все готово, наконец-то можно посмотреть как же работает функция  str_replace(). Вот ее синтаксис:

$newtext = str_replace($smail, $grafic, $text);

Т.е. она меняет те фрагменты, которые содержатся в массиве $smail на те, что содержатся в массиве $grafic в переменной $text и результат заносится в новую переменную $newtext. Все, теперь все текстовые смайлики будут заменены на графические. Данную функцию можно использовать не только для смайликов, а например, для замены нецензурных слов.

Ну вот и все, на этом урок можно закончить.

Автор: Евгений Бочкарев Урок добавлен: 9 Августа 2009 в 21:50 Просмотров: 15981

Условия копирования материалов сайта

Все комментарии

Посмотреть предыдущие комментарии (6)

#7 Егор 03-10-2012 в 20:24
Благодарю... Давно искал этот урок!
#8 Егор 03-10-2012 в 20:31
А как можно сделать добавление смайлов в форму.
<img src="smail/dumbfounded.png" alt="Грустный"> Например мне нужно значение alt поместить в форму при нажатии на смайл с помощью jquery!? Напишите на мою почту кому не трудно m4mindscape@gmail.com
#9 PeterLS 09-01-2013 в 15:48
Спасибо большое! Очень пригодилось.
#10 Олег 20-02-2013 в 16:07
Спасибо помогло очень!
#11 Александр 18-04-2013 в 10:01
А подскажите как можно напрмер эти данные считывать из базы данных а скрипт кстате динамической подгрузки страниц я использую место постраничной навигации из за проблем с совместимостью так всё таки как можно использовать этот скрипт сбазой данных тоесть я понял что в базу надо заносить значение которое было введено а как это считать и занести в базу ? если это просто массив данных отправьте пожалуйста ответ мне на электронную почту fantom.seller@yandex.ru
#12 Жека 30-09-2013 в 14:26
Спасибо прикольно получилось
#13 Жека 15-10-2013 в 22:31
Могу помочь с смайликами добавления и вывод из БД
grabko_e@mail.ru - вот мыло если что пишите (безплатно)
#14 Carbon 09-05-2014 в 22:03
Я когда делал свой чат в нем похожую идею реализовал. Но интересует одно, как сделать что бы символы =), заменять сразу же в input на картинку, вообще как в inpit вставить картинку???
#15 Евгений 11-05-2014 в 15:55
Думаю, в input это реализовать не получится, нужно создавать div и в нем уже делать эту замену
#16 Никита 02-04-2015 в 18:48
А подскажите как можно напрмер эти данные считывать из базы данных а скрипт кстате динамической подгрузки страниц я использую место постраничной навигации из за проблем с совместимостью так всё таки как можно использовать этот скрипт сбазой данных тоесть я понял что в базу надо заносить значение которое было введено а как это считать и занести в базу ?
Добавить новый комментарий

Автор:

Текст сообщения:

Если в комментарии присутствует код, пожалуйста вставляете его между тегами [code][/code]

cap

Код с картинки:


Получать уведомления о новых комментариях по Email могут только зарегистрированные пользователи.

41001346159934
R314489888859
Уроки
Для начинающих
Интересное
Файлы
Полезное
Опрос

Много ли среди программистов девушек?

Последние комментарии
Ссылки