StrReplace bez rozliseni velikosti pismen
21 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Zdravim. Chtel bych v textovym retezci zvyraznit urcite slovo, ale fce StrReplace rozlisuje mala a velka pismena. Jak mam udelat aby to fungovalo kdyz dam slovo auto tak aby se premenilo i <B>Auto</B> nebo <B>AUTO</B>, <B>aUTo</B>... Dik za rady
-
pouzij eregi_replace
-
nejak me ta fce nefaka, asi tam mam neco spatne, pomohl by me s tim nekdo?
-
eregi_replace(regulérní výraz, náhrada, řetězec); Regulérní výraz tě učit nebudu, náhrada je ta věc, za kterou chceš ten text nahradit a řetězec je proměná, kde máš uloženej ten text Snad takhle: $vzkaz = 'auto je na ho...'; eregi_replace('auto', '<b>auto</b>', $vzkaz);
-
Super, jde to... ale jeste jednu vec - jak mam udelat, aby: auto zamenil za <B>auto</B> Auto zamenil za <B>Auto</B> AUTO zamenil za <B>AUTO</B> ted se vsechny typy slov AUTO zameni za <b>auto</b>
-
takhle: $vzkaz = 'auto je na ho...'; eregi_replace("(auto)", "<b>//1</b>", $vzkaz);
-
Díky Mastře, aspoň se nemusim snažit prohledávat mý zdrojáky :-)))
-
neni zac :) ale spletl jsem si lomitka takze to je takhle: $vzkaz = 'auto je na ho...'; eregi_replace("(auto)", "<b>\\1</b>", $vzkaz);
-
panove me to teda nefaka... <? $zdroj = "bla bla MUJTEXT bla bla mujtext bla bla Mujtext"; $najdi = "mujtext"; $vysledek = eregi_replace("(".$najdi.")", "\\1", $zdroj); ?> ZDROJ: <? echo $zdroj; ?><BR> NAJIT SLOVO: <? echo $najit; ?><BR> VYSLEDEK: <? echo $vysledek; ?> uz fakt nevim co stim...
-
eregi_replace("(".$najdi.")", "\\1", $zdroj); Zkus taky nahradit " za ' eregi_replace("('.$najdi.')", "\\1", $zdroj); a stejně je to blbost, já typuju takhle: eregi_replace("[[:<:]]mujtext[[:>:]]", "\\1", $zdroj); toto [[:<:]] řekne, že to má být začátek slova a to druhý [[:>:]] konec
-
eregi_replace("[[:<:]]mujtext[[:>:]]", "\\1", $zdroj); a kde je v tomhle prikazu zapsano aby z toho mujtext udelal <B>mujtext</B> To proste nechapu...
-
Tak sory, já se pořádně nepodíval, tos tam špatně napsal ty Zkus to takhkle: eregi_replace("[[:<:]]mujtext[[:>:]]", "<b>\\1</b>", $zdroj); Jo jinak se někde podívej po regulérních výrazech, třeba v knížce o PHP od Koska
-
Kdyby Ti to fakt furt nešlo, tak mi napiš e-mail
-
<? $veta = "blabla MUJTEXT mujtext blabla Mujtext"; $opr = eregi_replace("[[:<:]]mujtext[[:>:]]", "<b>\\1</b>", $veta); ?> VETA: <? echo $veta; ?><BR> OPRAVENO: <? echo $opr; ?> Vyhodi to tohle: VETA: blabla MUJTEXT mujtext blabla Mujtext<BR> SLOVO: mujtext<BR> OPRAVENO: blabla <b>\1</b> <b>\1</b> blabla <b>\1</b>
-
<? $veta = "blabla MUJTEXT mujtext blabla Mujtext"; $opr = eregi_replace("[[:<:]]mujtext[[:>:]]", "<b>\\1</b>", $veta); ?> VETA: <? echo $veta; ?><BR> OPRAVENO: <? echo $opr; ?> Vyhodi to tohle: VETA: blabla MUJTEXT mujtext blabla Mujtext<BR> SLOVO: mujtext<BR> OPRAVENO: blabla <b>\1</b> <b>\1</b> blabla <b>\1</b>
-
kdyz uz tak eregi_replace("([[:<:]]mujtext[[:>:]])", "<b>\\1</b>", $veta); nebo eregi_replace("[[:<:]]mujtext[[:>:]]", "<b>\\0</b>", $veta);
-
Předtim jsem to nezkoušel. Teď jsem si spustil apache a zjistil jsem, že tam chyběj jen závorky <? $veta = "blabla MUJTEXT mujtext blabla Mujtext"; $opr = eregi_replace("(mujtext)", "<b>\\1</b>", $veta); ?> VETA: <? echo $veta; ?><BR> OPRAVENO: <? echo $opr; ?>
-
to chybely mas pravdu, s tema [[:<:]] [[:>:]] by ti to zvyraznilo jen samostatny slova a ne ty co se vyskytujou v jinym slove .. to uz zalezi na tobe
-
$opr = eregi_replace("(".$slovo.")", "<b>\\1</b>", $veta); $opr2 = eregi_replace("[[:<:]]mujtext[[:>:]]", "<b>\\0</b>", $veta); $opr3 = eregi_replace("([[:<:]]mujtext[[:>:]])", "<b>\\1</b>", $veta); tyhlety uz fakaji ok. Vysvetlil by mi nekdo jakej je rozdil v zapisu 2 a 3? fungujou oba stejne a nemuzu v nich najit rozdil...
-
\0 znamena 'cely string, ktery vyhovuje', kdezto \1 'prvni cast' - ale protoze je tu jenom jedna cast, tak mezi tim neni rozdil
-
a 'cast' neboli podvyraz vytvoris pomoci tech kulatych zavorek :-) koukni na http://www.regexp.cz/ tam je to jednoduse a srozumitelne