Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Цикл в замене смайлов
 
 автор: devil943   (14.01.2008 в 21:48)   письмо автору
 
 

Вот список смайлов, разделенных +

$smiles = ":yahoo:+:)+;)+:(+:(((+:z+:'(+:yes+:no";

Список файлов изображений, соответствующих смайлам

$image = "yahoo+smile+biggrin+sad+dry+mad+fie+ok+no"; 

Из смайлов и их картинов создаю массив

$smiles_m = explode("+", $smiles);
$image_m = explode("+", $image);

сам цикл. При этом $text - текст сообщения, выводящегося на форму, текст из данной итерации.

for($i=0; $i<count($smiles); $i++) {
    $patern = "|$smiles_m[$i]|ixs";
    $replacment = "<img src=\"smiles/$image_m[$i].gif\" alt=\"$smiles_m[$i]\">";    
    $text = preg_replace($patern, $replacment, $text);
}


Суть в том, что все значки из первой строки заменяются картинками из второй. При это обрабатывается только смайл yahoo, а расписывать свой цикл вручную мне не хочется.

Я проверил: и $smiles_m и $image_m содержат значения, которые им собственно полагается содеражть.

   
 
 автор: mihdan   (15.01.2008 в 00:41)   письмо автору
 
   для: devil943   (14.01.2008 в 21:48)
 


<?
// Вот список смайлов, разделенных +
$smiles ":yahoo:+:)+;)+:(+:(((+:z+:'(+:yes+:no";

// Список файлов изображений, соответствующих смайлам
$image "yahoo+smile+biggrin+sad+dry+mad+fie+ok+no"

// Из смайлов и их картинов создаю массив

$smiles_m explode("+"$smiles);
$image_m explode("+"$image); 

$text str_replace($smiles_m$image_m$text);

echo 
$text;
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования