Autor Zpráva
Inner
Profil *
Pekný deň,
mám taký malý problémik, čítal som si o tom, ako sa zamieňajú napríklad textové smajlíky za grafické a podobné články, kde sa zamieňala časť textu za iný text. Väčšina týchto článkov však bola dosť stará, takže používali na to v PHP funkciu ereg_replace();, ktorá to jednoducho vyriešila. Dnes som to skúšal u mňa na localhoste, a píše mi to deprecated (funkcia je zavrhnutá.). Potom som prišiel na DJPW a čítam: V php používejte funkce z rodiny preg_...
Tak som si na php.net našiel text o preg_replace();, ale vôbec som tomu neporozumel.
Nie kvôli tomu, že by som nevedel po anglicky! Akurát nerozumiem tomu s tým pattern, replacement, subject a pod., a to ako tam fungujú tie polia.
Nemohli by ste mi to niekto vysvetliť prosím zrozumiteľne po slovensky alebo po česky?
Díky, jk.
nevimco2
Profil
Je to jednoduché, parametry se zapisují zakto
preg_replace ( 
                               $pattern  // To co chceš nahradit, např. textové smajlíky
                               $replacement // To čím to chceš nahradit, např. odkaz na obrázek
                               $subject // Text ve kterém to chceš nahradit, např. zpráva v chatu 
                              
                               // Pak tam máš ještě 2 nepovinné parametry
                               $limit //  určuje kolikrát maximálně to může být provedeno
                               $count // Pokud sem dáš proměnnou, tak se ti do ní nahraje číslo kolikrát byl text nahrazen
                               );
                               
V praxy to pak může vypadat asi takto:
$pattern = "/:D/";
$replacement  = "<img src=\"smajlik.jpg\" alt='^_^'>";
$subject = "Zdravim :D.";
$limit = -1; // Normální hodnota pokud vynecháš
$count = 0; // Kolikrat bylo nahrazeno

$new_subject = preg_replace($pattern, $replacement, $subject, $limit, $count);

echo $new_subject." <br/> Bylo nahrazeno ".$count." krat.";

Akorát si budeš muset najít správný regex na tvoje smajlíky ;-)
Inner
Profil *
nevimco2:
aha, díky ;-)
Začínam tomu rozumieť. A v tej premennej $new_subject je vlastne už ten nahradený reťazec, že? Dobre! Super!
Ďakujem veľmi pekne ;-D

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: