Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Как добавлять смалики?


Автор: Николай 15.6.2004, 07:22
Я тут очень долго думал, но так ничего и не надумал. Скажите, как сделать, чтобы в форуме можно было добавлять смайлики. notify.gif

Автор: Ignat 15.6.2004, 09:59
eregi_replace(":-)","<img src=images/smile.gif>",$text);
либо str_replace

Автор: savage 15.6.2004, 11:27
Создай два массива. Один будет хранить смайлов (текстовых). А другой их анологов, только в виде картинок.
Количество элементов в обоих массивах должно совпадать, соответственно.

Код
<?php
//Массив со смайлами
$smails[]=':)';
$smails[]=':(';
$smails[]=':!';
$smails[]=':?';
$smails[]=':-*';
$smails[]=':0';
....

//Массив с картинками
$imgSmail[]='<img src=\'img/smails/1.gif\'>';
$imgSmail[]='<img src=\'img/smails/1.gif\'>';
$imgSmail[]='<img src=\'img/smails/1.gif\'>';
$imgSmail[]='<img src=\'img/smails/1.gif\'>';
$imgSmail[]='<img src=\'img/smails/1.gif\'>';
$imgSmail[]='<img src=\'img/smails/1.gif\'>';
....

//Цикл который меняет смайлов на картинки идентичные им
for ($i=0; $i<count($smails); $i++) $text=str_replace($smails[$i], $imgSmail[$i], $text);
?>


Лучше пользуйся str_replase - скорость обработки будет быстрее.

Автор: IZ@TOP 15.6.2004, 13:56
Цитата
for ($i=0; $i<count($smails); $i++) $text=str_replace($smails[$i], $imgSmail[$i], $text);

Это полный бред. Зачем писать вдвое больше кода когда можно обойтись одной строчкой???
Цитата
$text=str_replace($smails, $imgSmail, $text);

http://php.net/str_replace

Автор: Alex55 26.6.2004, 09:27
Цитата(IZ @ 15.6.2004, 13:56)
Цитата
for ($i=0; $i<count($smails); $i++) $text=str_replace($smails[$i], $imgSmail[$i], $text);

Это полный бред. Зачем писать вдвое больше кода когда можно обойтись одной строчкой???
Цитата
$text=str_replace($smails, $imgSmail, $text);

http://php.net/str_replace

------<html>
<script language="JavaScript">
function add(img)
{
all=window.pole.value;
window.pole.value=all+img
}
</script>
<textarea>hello </textarea><br>
<a href="javascript:add(':)')">add ;)</a>
------</html>

-----<php>
$smails[]=':)';
$smails[]=':(';

$imgSmail[]='<img src=\'img/1.gif\'>';
$imgSmail[]='<img src=\'img/2.gif\'>';

$text="hello smile.gif how are you doing ";

$out=str_replace($smails,$imgSmail,$text);

echo $out;

hehe.gif

Автор: vvglev 21.3.2005, 20:24
Цитата(Ignat @ 15.6.2004, 09:59)
eregi_replace(":-)","<img src=images/smile.gif>",$text);
либо str_replace

нам нужны эти см

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)