Prevodilac smajlića u PHP

Prevodilac smajlića u PHP

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4575

Napisano: 10 Feb 2014 21:42

Zamolio me je prijatelj da mu napišem neki prevodilac smajlića za chat , nije ništa teško samo što ima dosta da se piše. Imam dva niza. U prvom se nalaze kodovi smajlija, a u drugom rezultati tj. putanje do slika. Koristim funkciju str_replace() (pošto je ereg_replace() deprecated) i razmišljao sam o tome da nekako skratim posao jer ima stvarno dosta tih smajlija (oko 500).

Evo kako to otprilike izgleda:

if(!empty($tekst)){       $niz1=array(          ':D',          ':)',          ':(',          '.cao.',          '.srce.',          '.xaxa.',          '.pop.'             );       $niz2=array(          '<img src="smajlici/smeh.gif" >',          '<img src="smajlici/smesak.gif">',          '<img src="smajlici/tuzan.gif">',          '<img src="smajlici/cao.gif">',          '<img src="smajlici/srce.gif">',          '<img src="smajlici/valjanje.gif">',          '<img src="smajlici/pop.gif">'          );       $txt=str_replace($niz1, $niz2 , $tekst);       echo "Vi ste napisali $txt"; } else {       echo "Niste upisali tekst."; }

Da li bi to moglo da se uradi preko jednog niza, ovako:

            $niz1=array(          ':D' => '<img src="smajlici/smeh.gif" >',          ':)' => '<img src="smajlici/smesak.gif">',          ':(' => '<img src="smajlici/tuzan.gif">',          '.cao.' => '<img src="smajlici/cao.gif">',          '.srce.' => '<img src="smajlici/srce.gif">',          '.xaxa.' => '<img src="smajlici/valjanje.gif">',          '.pop.' => '<img src="smajlici/pop.gif">'             );

Nego ne znam kako da postavim da str_replace() u prvom parametru sadrži key tog niza, a u drugom value istog ???

Dopuna: 10 Feb 2014 21:47

Problem rešen Very Happy

if(!empty($tekst)){       $niz1=array(          ':D' => '<img src="smajlici/smeh.gif" >',          ':)' => '<img src="smajlici/smesak.gif">',          ':(' => '<img src="smajlici/tuzan.gif">',          '.cao.' => '<img src="smajlici/cao.gif">',          '.srce.' => '<img src="smajlici/srce.gif">',          '.xaxa.' => '<img src="smajlici/valjanje.gif">',          '.pop.' => '<img src="smajlici/pop.gif">'             );       $txt=str_replace(array_keys($niz1), array_values($niz1) , $tekst);       echo "Vi ste napisali $txt"; } else {       echo "Niste upisali tekst."; }



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • PHP Developer
  • Pridružio: 02 Okt 2005
  • Poruke: 546

http://www.php.net/manual/en/function.strtr.php
mozda ti ovo treba



offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4575

@|_MeD_| - proguglao sam malo o ovom mom problemu i našao tu funkciju. Premda ovo radi posao, nema potrebe da menjam, ali uzeću i to u obzir. Svejedno hvala na predlogu Ziveli

Ko je trenutno na forumu
 

Ukupno su 1040 korisnika na forumu :: 30 registrovanih, 6 sakrivenih i 1004 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, A.R.Chafee.Jr., CikaKURE, darkangel, DPera, Georgius, GhostOfSparta480, Hans Gajger, Još malo pa deda, Kibice, Kubovac, kuntalo, loon123, LUDI, Mercury, Mi lao shu, Milan A. Nikolic, milos.cbr, milutin134, proka89, radionica1, RED4G-304, royst33, Srle993, stegonosa, User98, Vatreni Zmaj, wolf431, ZetaMan, 2001