|
|
|
| Вот список смайлов, разделенных +
$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 содержат значения, которые им собственно полагается содеражть. | |
|
|
|
|
|
|
|
для: 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;
?>
|
| |
|
|
|