Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z funkcją str_replace();, Raz działa, a raz nie...
quex
post 1.05.2005, 23:38:22
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 11.02.2004

Ostrzeżenie: (0%)
-----


Witam szanownych forumowiczów.
Mam problem z fukncją zamieniającą str_replace();. Na początek przedstawie kawałek kodu:
  1. <?
  2. ...
  3. $text = str_replace (&#092;";X\", \" <img src=\"img/emotikony/icon_mad.gif\" border=\"0\" alt=\";X\">\", $text);  
  4. ...
  5. ?>


I teraz pojawia się problem, bo jak wkleje np. "sdsds&amp;X", to wstawi mi tam emota. Oczywiście można to obejść dając:
  1. <?
  2. ...
  3. $text = str_replace (&#092;"_;X_\", \" <img src=\"img/emotikony/icon_mad.gif\" border=\"0\" alt=\";X\">\", $text);  
  4. ...
  5. ?>

(_ to spacja)

ale czy nie ma innego sposobu?

Najlepiej, gdyby nie zamieniało emotikonek zawartych pomiędzy
Kod
[CODE] i
[/CODE]

Proszę o pomoc - quex.

----------------------------- ROZWIĄZANIE -----------------------------
Zrobilem inaczej.
Emotikony teraz daje w taki [ i ] np. [smile.gif].
Uzylem funkcji preg_replace_callback();
  1. <?
  2. $text = preg_replace_callback(&#092;"#[(.*?)]#si\", \"EmoticonsNoCode\", $text); 
  3. ?>

i stworzylem funkcje EmoticonsNoCode.
W funkcji mam normalne zamienianie Emotikon np.
  1. <?
  2. $text = str_replace (&#092;":)\", \" <img src=\"img/emotikony/icon_smile.gif\" border=\"0\" alt=\":)\">\", $text); 
  3. ?>


Rozwiązanie podaje, jakby czasem ktoś potrzebował.

Ten post edytował quex 2.05.2005, 13:26:57
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:25