Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyrażenia
Forum PHP.pl > Forum > Przedszkole
larson7221
mam problem z wyrażeniami regularnymi są to moje początki z wyrażeniami więc proszę o wyrozumiałość
chcę sobie zrobić emotikony na foryum napisanym przeze mnie
napisałem sobie funkcję zamieniająca bezpośrednio taki znak
  1. function emot($text)
  2. {
  3. $query=mysql_query("SELECT * FROM emotikon");
  4. if(mysql_num_rows($query)>0)
  5. {
  6. while($r=mysql_fetch_array($query))
  7. {
  8. $text=preg_replace("/".$r['znak']."/","<img src=".$r['img'].">",$text);
  9. }
  10. }

no i funkcja oczywiście wywala błąd
(2
Warning: preg_replace() [function.preg-replace]: Compilation failed: unmatched parentheses at offset 1 in C:\Program Files\WebServ\httpd\sk\system\function.php on line 29
)
jaslanin
zobacz sobie co masz w tych zmiennych z bazy i z $text bo kod działa:

  1. <?php
  2.  
  3. $text = "ala ma kota, ala ma psa";
  4.  
  5. $r['znak'] = "ala";
  6.  
  7. echo preg_replace("/".$r['znak']."/","<img src=".$r['img'].">",$text);
  8.  
  9. ?>


chociaż lepiej pewnie by było użyć str_replace
larson7221
w zmiennej $r['znak'] mam sobie smile.gif a
$r['img'] mam jedynie sciezke galery/emotikon/smile.gif

ale chyba wiem co jest nie tak skoro emot jest
  1. :)
to ten nawias jest zapewne znakiem specjalnym wyrażeń ... i teraz jak z tym sobie poradzić

ok poradziłem już sobie z tym używając jednak str_replace dzięki winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.