Смайлы
1.
Вадим (21.05.2014 / 06:37)
Всем доброго
времени суток.
Пишу скрипт и
столкнулся с такой
вот проблемой:
Есть функция
смайлов:
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.
Помогите решить проблему.
2.
Zдешний (21.05.2014 / 08:19)
регулярку из ротора брал
$str = preg_replace('|'.preg_quote($code_of_smile).'|', '<img src="'.URL.'smiles/'.$img_of_smile.'" alt="smile" /> ', $str);
3.
shilo (23.05.2014 / 17:14)
1, советую забыть эту функцию и никому больше не показывать.
Вот смотри, при каждом вызове функции делается запрос в БД.
Этой функцией обрабатывается каждое сообщение как я понимаю.
Допустим на странице всего 10 сообщений... 10 одинаковых запросов в БД? ЗАЧЕМ? Ради вывода смайликов? Это глупость и вредительство
URL:
https://visavi.net/topics/40699