Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Замена :smile: на смайлик, как лучше реализовать 
:(
    Опции темы
Штык
Дата 7.4.2006, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 9.5.2005
Где: Москоу

Репутация: нет
Всего: 1



собсьвенно вопрос в сабже..пишу чат.. имееться скрипт который выводит смайлы
Код

$dir=opendir("smiles");
$file=readdir($dir);
$file=readdir($dir);
$i=0;
while(($file=readdir($dir))!==false)
{
 $i++;
 $st=explode(".",$file);
 echo(" <img src='smiles/".$file."' onclick='InsertSmile(\"".$st[0]."\")'");
 if($i==6){echo("<br>");$i=0;}
}


при нажатии смайлик как и везде заведено копируеться в input а вот терь вопрос как лучше обработать сообщение и вывести в сообщении на экран смайлик..то есть :smile: нужно заменить на <IMG SRC='smile.gif'>..пробую так

Код

$msg=ereg_replace(":".$name.":","<IMG SRC='".$name.".gif'>",$message_array['message']);

но при таком подходе приходиться опять читать директорию со смайлами и сравнивать имя файла $name с тем что введено.. вопросик как можно без этого обойтись?

Это сообщение отредактировал(а) Штык - 7.4.2006, 08:37
--------------------
Lachetes familieresQui nous rendent guerrieres
PM MAIL WWW ICQ   Вверх
R.M.
Дата 7.4.2006, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: -2
Всего: 30



А ты запиши в базу так
id | code | img
1 | :smile: | smile.gif
2 | :up: | up.gif

и т.д. а потом заменяй через str_replace


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
CyClon
Дата 7.4.2006, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: 3
Всего: 4



Наварганил кое-что...

Код
<?php

$smiles = array("lol", "smile", "boom");

function check($string)
{
    global $smiles;
    if (in_array($string, $smiles)) {
        return "<img src=\"images/smiles/".$string.".gif\" width=\"15\" height=\"15\" border=\"0\">";
    } else {
        return ":".$string.":";
    }
}

$string = "I :lol: :fff:";

$string = preg_replace("#:(.+):#ieU", "check(\"\\1\")", $string);

echo $string;

?>


Это сообщение отредактировал(а) CyClon - 7.4.2006, 10:28


--------------------
user posted image
PM   Вверх
Штык
Дата 7.4.2006, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 9.5.2005
Где: Москоу

Репутация: нет
Всего: 1



всем огроиное спс =)
у мя только воть другой вопросик терь возникаеть так как чат юзает AJAX и результат выполнения скрипта возвращаеться в виде XML, то не получаеться передать текст с тегами..то есть все что входит в <..>..</..>
считаеться новым блоком..
то есть получаеться след структура
Код

<message id="160">
<user>roman</user>
<color>ff0000</color>
<msg_color>00ff00</msg_color>
-
    <text>
<img src="smiles/bye.gif"/>
</text>
<time>11:31</time>
</message>


а нужно

Код

<message id="161">
<user>roman</user>
<color>ff0000</color>
<msg_color>00ff00</msg_color>
<text>test</text>
<time>11:37</time>
</message>


как вариант сделать аналог bb кодов а потом на JavaScript обработать скобки есть ли в JS аналог str_replace?

ЗЫ: ссори что вопрос немного в другую сторону увел..


Все разобрался вопрос исчерпан всем огромное спс;)

Это сообщение отредактировал(а) Штык - 7.4.2006, 10:48
--------------------
Lachetes familieresQui nous rendent guerrieres
PM MAIL WWW ICQ   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0462 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.