Смайлик не там где надо - головоломка

1. 7ion (06.06.2010 / 17:56)
Итак, что есть:
nl2br(smiles(htmlspecialchars($mess)))
Проблема: есть смайлик ;/
htmlspecialchars заменяет, допустим, </ на </.
И вот, там где мне не нужно, функция smiles подставит мне смайл.
Ломаю голову уже два часа. Писать говнокод а-ля
nl2br(smiles(htmlspecialchars(str_replace(';/', ':smile:', $mess)))
ради одного смайла не хочу.
Может у кого есть идеи? smile

2. Вантуз-мен (06.06.2010 / 18:19)
если писать не хочешь меняй имя смайлика

3. Вантуз-мен (06.06.2010 / 18:20)
или измени порядок функций
nl2br(htmlspecialchars(smiles($mess)))

4. Azzido (06.06.2010 / 18:37)
Но тогда спецсимволы тэгов в html эквиваленты перейдут,значит выход менять имя смайла

5. 7ion (07.06.2010 / 19:22)
Vantuz, нельзя, к сожалению, имя смайлика изменить.
И тем более через админку можно будет добавить любой смайлик с любым обозначением по задумке.
Если изменить порядок функций - то тогда да, спецсимволы перейдут в эквиваленты.
В этом и проблема.

6. ramzes (07.06.2010 / 22:27)
Пробел поставь перед этим смайлом ' ;/' смысл не изменится, проблема решится. Не велика плата

URL: https://visavi.net/topics/10223