Смайлы

Печать RSS
216

Автор
Пришелец
0
Всем доброго
времени суток.
Пишу скрипт и
столкнулся с такой
вот проблемой:
Есть функция
смайлов:
function smiles($sm)
{
$result =
mysql_query
("SELECT command,
folder FROM
smiles");
while($smile =
mysql_fetch_assoc
($result))
{
$sm = str_replace
($smile['command'],
'<img src="'.$smile
['folder'].'" alt="'.
$smile
['command].'" />',
$sm);
}
return $sm;
}
command - это имя
комманды смайла.
folder - это путь к
смайлу.
В общем функция
работает, но вот
проблема, в базе 40
смайлов. Команда у
них такая: smЦифра_смайла
Работают только
смайлы комманд от
sm1 до sm9, когда
пишешь sm10, sm11
выходит так: смайл0, сам смайл1.
Помогите решить проблему.

Веем холодом
0
регулярку из ротора брал
$str = preg_replace('|'.preg_quote($code_of_smile).'|', '<img src="'.URL.'smiles/'.$img_of_smile.'" alt="smile" /> ', $str);

Чатланин
0
1, советую забыть эту функцию и никому больше не показывать.
Вот смотри, при каждом вызове функции делается запрос в БД.
Этой функцией обрабатывается каждое сообщение как я понимаю.
Допустим на странице всего 10 сообщений... 10 одинаковых запросов в БД? ЗАЧЕМ? Ради вывода смайликов? Это глупость и вредительство
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск