Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите с выводом смайлов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Zip
Отправлено: 10 Декабря, 2008 - 12:42:31
Post Id



Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Авг. 2008  


Помог: 0 раз(а)




CODE (text):
скопировать код в буфер обмена
  1.  
  2. $text = "!smile! Бла бла бла !smilel!"; // текст
  3.  
  4. $sm = array("!smile!","!gg!","!apl!"); // значение смайлов
  5. $img = array('<img src="smile.gif"" alt="!smile!"/>',
  6.              '<img src="gg.gif" alt="!gg!"/>',
  7.              '<img src="apl.gif" alt="!apl!"/>'); // смайлы
  8.  
  9.  
  10.  

Как зделать чтоб в строке заменяло на смайл только первое значение смайла , все остальные значение оставались текстом ?
CODE (text):
скопировать код в буфер обмена
  1.  
  2. $text = preg_replace($sm,"$img",$text,1);
  3. // Не катит , потому что заменяет на рисунок разные значение смайла ,
  4. // например !smile! !gg! . А нужно чтоб в сообщении заменяло только первое значение .
  5.  

(Отредактировано автором: 10 Декабря, 2008 - 12:54:56)

 
 Top
Champion Супермодератор
Отправлено: 10 Декабря, 2008 - 12:55:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




$text = "!smile! Бла бла бла !smilel! !gg!"; // текст

$smiles['!smile!'] = '1.gif';
$smiles['!smile2!'] = '2.gif';
...
foreach ($smiles as $txt => $img){
$text = str_replace($txt, $img, $text, 1);
}
 
 Top
Zip
Отправлено: 10 Декабря, 2008 - 13:09:59
Post Id



Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Авг. 2008  


Помог: 0 раз(а)




Champion, Fatal error: Only variables can be passed by reference
и если убрать в str_replace в конце "1" то заменяе всё в подрят, а мне нужно чтоб только одно зачение заменяло
 
 Top
Champion Супермодератор
Отправлено: 10 Декабря, 2008 - 13:46:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Zip, ошибся, preg_replace
 
 Top
Zip
Отправлено: 10 Декабря, 2008 - 15:28:26
Post Id



Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Авг. 2008  


Помог: 0 раз(а)




Champion, Я же написал что preg_replace не подходит . Есди в строке будет
!smile!!smile!!smile!apl!!apl!!apl! то выведет два смайла !smile! и !apl! а нужно чтоб только первый !smile! был смайлом а всё остальное оставалось текстом
 
 Top
Champion Супермодератор
Отправлено: 10 Декабря, 2008 - 15:59:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




А последний параметр limit для чего?
 
 Top
Zip
Отправлено: 10 Декабря, 2008 - 16:45:24
Post Id



Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Авг. 2008  


Помог: 0 раз(а)




Champion пишет:
А последний параметр limit для чего?

Он действует только например если много !smile!!smile!!smile! то он всё делает как надо, заменяет только первое значение , но если !smile!!smile!!apl! то он заменяет одно !smile! и одно !apl! и уже получается в сообщении два смайла ...

(Отредактировано автором: 10 Декабря, 2008 - 16:46:53)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB