Autor Zpráva
peetr
Profil *
zdravim, potrebujem pomoc ...

chcem nahradit nejake slovo za to slovo obalene v <span>e ..

priklad:
preg_replace("/($slovo)/i","<span class="zafarbi">\0</span>",stripslashes($row['text']))

... ten priklad mi funguje pri jednom slove, ale potreboval by som to "prerobit", aby to fungovalo aj s viacerymi slovami ... teda nahradovat sa bude viacej slov v 'texte', s tym ze niektore slova sa v texte nemusia nachadzat


priklad ktory mi nefunguje:

na vstupe je zadanych niekolko slov oddelenych medzerou, ktore sa nachadzaju v premennej slovo,a z neho spravim pole slov premenna => $slova

$slova = explode(' ',$slovo);
preg_replace("/$slova/i","<span class="zafarbi">\0</span>",stripslashes($row['text']))

chcem aby mi to v premennej 'text' nahradilo najdene slova tym <span>om , aby som ich mohol pomocou css farebne zvyraznit ...
bukaj
Profil
a co toto:

$pattern = "/(" . preg_replace("/\s/", "|", preg_quote($slovo, "/")) . ")/";
$vysledek = preg_replace($pattern, "<span class=\"zafarbi\">$1</span>", stripslashes($row["text"]));
peetr
Profil *
funguje, vdaka

este ako spravit aby to nebolo case-sensitivne ?

aby mi nahradilo aj slovo VElky aj velky
bukaj
Profil
přidáním modifikátoru i (jako ignore-case). viz:

$pattern = "/(" . preg_replace("/\s/", "|", preg_quote($slovo, "/")) . ")/i";
zdeněk
Profil *
Zkus přidat modifikátor "i"
$pattern = "/(" . preg_replace("/si/", "|", preg_quote($slovo, "/")) . ")/";
zdeněk
Profil *
Omlouvám se, ale nevšiml jsem si, že tam to "i" je na konci.
peetr
Profil *
Este raz velka vdaka '<b>bukaj</b>' .. velka vdaka
peetr
Profil *
zabudol som ze to [b]hranate zatvorky[][b] sa pisu , nie html ;-)
peetr
Profil *
necham to uz radsej tak :-))) , este raz vdaka

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: