Xwab
Форумыnavigate_nextПрограммирование на PHP

Смайлы через smiles.list
Сообщения
Dizent

Наверняка есть такая функция, но мне не найти(именно кусок)
Надо что бы сама функция смайлов работало по стандарту, но вот вызов смайла читало из smiles.list(допустим).
И в этом "smiles.list":
 || ||smile.gif
 || ||sad.gif
типо такого, вызов||имя на сервере
-----
нашел типо этого:
http://mirmastera.ru/codes/index.php?act=view&id_c=322&id_k=1
но мне не понять использование...
а может и понял... но тогда функция вызова меня не устраивает, мне надо:
function output($var)
{
    return smiles(nl2br($var));
}

06 Июл 2011, 15:28
[ADMIN99]

Вот что нужно.
http://php.su/functions/?explode

06 Июл 2011, 15:29
Dizent

у меня начальные знания php и их мало чтобы разобраться с этим(

06 Июл 2011, 15:31
SigmA

Зачем тебе в качестве делимитера ||? Почему не просто пробел там скажем например? Всегда хотел это понять..

06 Июл 2011, 22:53
zLEMz

SigmA, потому что в некоторых случаях, взять этот например можно использовать в названии смайла "*пойдем гулять*" т.е. пробел нужен. По вопросу автора - это очень простая задача. Тебе нужно разобраться немного.. Могу написать подробно если интересно..

08 Июл 2011, 17:21
SigmA

использовать такое это клиника

08 Июл 2011, 17:57
zLEMz

Во-первых почему нет.
Во-вторых, я в целом , а не именно в данном случае. Разделить стараються выбрать уникальный.

08 Июл 2011, 18:04
Lexan

ну тут всё просто:
сначала заносим все строки из файла в массив
$smiles = file ('smiles.list');
а потом в каждый элемент массива режем по разделителю
foreach ($smiles as $key => $value) $smiles[$key] = explode ('||', $value);
Теперь у нас в массиве каждая ячейка представляет собой массив в котором последняя ячейка smile.gif, а остальные -   и т.д.
а дальше заменяем смайлы в тексте на картинки. Например если текст находится в $text, то
foreach ($smiles as $value)
{
$image = array_pop ($value); //получаем название картинки смайла и убираем его из массива $value
$text = str_replace ($value, "<img src='$image'>", $text);
}

08 Июл 2011, 21:35
Replikon

Отдельный файл - это лишная хреновина.
Юзай массив со смайлами.
Если интересно, могу кинуть свою реализацию.

09 Июл 2011, 14:32
[ADMIN99]

Согласен с 9ым постом, лучше создать файл smiles.php в нем писать функцию замены и потом инклюдить файл smiles.php
буду дома скину пример если нужно

10 Июл 2011, 9:51
Ответить на тему