|
|
|
| В базе хранится список смайлов. Текстовый эквивалент может иметь произвольный вид. С помощью какого регулярного выражения, можно заменить текстовый эквивалент смайла HTML тегом <img>?
Использовал следующую конструкцию:
<?php
$text = str_replace($row['smilietext'], '<img src=\"'.$row['smiliepath'].'\" alt=\"'.$row['title'].'\" border=\"0\" />', $text);
?>
|
Но, возникает проблема. Есть два смайла: ":о" и ":offtopic:" (без ковычек). Так вот, при вышеописанной операции ":offtopic:" заменяется на "<img атрибуты смайла ":о">fftopic:".
Как исправить? | |
|
|
|
|
|
|
|
для: Drago
(27.04.2007 в 23:04)
| | Желательно писать коды для смайлов типа ":offtopic:". Либо смайл ":o" заменять в последнюю очередь. | |
|
|
|
|
|
|
|
для: Drago
(27.04.2007 в 23:04)
| | Вам придется хранить массив, в который попадают данные в $row, в определенном порядке -таком, который разрешает все замены без коллизий.
Или извлекать в определенном порядке. Если извлечение идет из БД , то вероятно, достаточно будет конструкции ORDER BY smilietext DESC | |
|
|
|
|
|
|
|
для: Trianon
(28.04.2007 в 09:26)
| | >Или извлекать в определенном порядке. Если извлечение идет из БД , то вероятно, достаточно будет конструкции ORDER BY smilietext DESC
Спасибо, помогло. | |
|
|
|