[php] problem z emotikonami

0

zamieniam w tekście znaki na emotikony (img)

$text="jakiś <b>text</b>";
$text= htmlspecialchars($text);
$text=str_replace(";/","<img src=\"obrazek.gif\">",$text);

i niestety wstawi mi się emotikona (a nie chciałem) w znaczniku </b> bo po zamianie tekstu przez htmlspecialchars on wrzuca tam średnik

co zrobić, żeby emotikona była tylko jak napiszę np.

$text="tekst ;/";

a nie było jak będzie tak jak powyżej, czyli $text="jakiś text";


gdy zrobię najpierw zamianę emotów na img, a później htmlspecialchars to napisze mi wtedy <img src="obrazek.gif"> zamiast pokazać obrazek

jak zrobić żeby nie wrzucał emotikon w tagach ?

PS.
ten sam problem zauważyłem w komunikatorze tlen.pl
0

to emotki zdefiniuj ze spacjami jedną przed drugą po np: ;/ i jak emotka będzie poprzedzona i zakończona jedną spacją to zamieniaj. możesz dodać jakieś inne znaki np: :;/: lub [;/]

0
angel2953 napisał(a)

to emotki zdefiniuj ze spacjami jedną przed drugą po np: ;/ i jak emotka będzie poprzedzona i zakończona jedną spacją to zamieniaj. możesz dodać jakieś inne znaki np: :;/: lub [;/]

lepiej zrobić ereg_replace i wyrażenie na zasadzie ze jeżeli emotkę poprzedza znak "<" ale za nim nie ma znaku "/>" to nie da sie zamienić... moze ktoś kto dobrze zna wyrażenia regularne napisze cos takiego, bo ja sam potrzebuje ? :>

1 użytkowników online, w tym zalogowanych: 0, gości: 1