Задать вопрос
@Romanson

Как осуществить замену символов на смайлы?

Здравствуйте, бьюсь с добавлением смайлов в чат. Не пойму как заменять символы на смайла. Нарыл такую функцию,
function smiles($str)
{
    $img_array = array("aa", "ab", "ac", "ad", "ae", "af", "ag", "ah", "ai", "aj", "ak", "al");// массив надо дополнить до dv
    if(!file_exists($file="smiles/_define.ini"))
      return false;
    $info_smiles = file($file, FILE_IGNORE_NEW_LINES);
    foreach($info_smiles as $num_str=>$cur_str)
    {
        $arr_str=explode(",", $cur_str);
        foreach($arr_str as $key=>$value)
        $str=str_replace($value, "<img src='/smiles/".$img_array[$num_str].".gif' alt=''/>", $str);
    }
    return $str;

в файле define
:) ,:),O:),O+),O=),0:-),0:),0+),0=)
:-),:),=),+)
:-(,:(,+(,=( такой текст. что не так? почему не заменяет?
  • Вопрос задан
  • 172 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
1. Не думаю, что стоит делать это в php, делайте это в js
2. Смайл отдельным файлом? Надо спрайт. И заменять текст спанами с определенным классом.
3. Что внутри $arr_str?
4. Что получаете на выходе?
5. Что не устраивает? Если ошибки - какие?
Ответ написан
Комментировать
zorca
@zorca
Соответствие смайлов судя по всему хранится в smiles/_define.ini . И скорее всего, он тупо не подключается. Выведите промежуточные результаты через var_dump и узнаете, что происходит.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽