@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=)
:-),:),=),+)
:-(,:(,+(,=( такой текст. что не так? почему не заменяет?
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ответы на вопрос 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 и узнаете, что происходит.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы