Autor | Zpráva | ||
---|---|---|---|
želva Profil * |
#1 · Zasláno: 24. 6. 2011, 19:02:29
Mám malý problém, kdysik fungující zápisy pomocí funkcí ereg_replace již na nových verzích PHP nefungují a uvádí to, že jsou zastaralé.
Neporadíte mi prosím jestli za to existuje kvalitní náhrada? Dost často ve scriptu nahrazuji znaky nebo je naopak vymazávám a používal jsem tuto funkci ereg replace a ted je šlus :( například tyto tři typické problémy , které tu mám: $promena=ereg_replace( "[^0-9]", "", $_POST[promena]); // aby to pustilo v proměné jen čísla $promena=ereg_replace( "--", "-", $promena); // aby dva posobě jdoucí znaky mínus předělalo na jeden znak mínus $promena=ereg_replace( " ", "", $promena); // aby to vymazalo z proměné prázdné mezery. Na starší verzi PHP to funguje a díky označení funkce ereg_replace jako zastaralou na nových verzí PHP si to již ani neškytne. Vůbec nevím čím to nahradit, abych dosahl stejného výsledku ... Díval jsem se na php.net a moc moudrý jsem z toho nebyl. Budu vděčný za pomoc. |
||
DarkMeni Profil |
#2 · Zasláno: 24. 6. 2011, 20:09:24 · Upravil/a: DarkMeni
Ano, ereg* se dá nahradit funkcemi preg*.
Například: //Toto: ereg("výraz",$promenna); //By se mohlo nahradit tímto: preg_match("/výraz/modifikátory",$promenna); //A pro replace: ereg_replace("výraz","nahrazení",$promenna); //Tímto: preg_replace("/výraz/modofikátory","nahrazení",$promenna); Stačí si zjistit jak se má zapsat vzor, zkusim ti to trochu vysvětlit: Oddělovač: To PHP pozná podle prvního znaku, a ten rozdělí výraz od modifikátorů (v příkladech jsem použil jako oddělovač lomítko). Výraz: Asi mu vadit nebude když budeš používat stejné výrazy jako jsi používal u eregu Modifikátor: A toto ti dovolí vypracování výrazu trochu modifikovat, třeba nerozlišovat velikost písmen (i), multifikovat řákdy (m), atd... Například toto ti odstraní ty duplikované pomlčky: preg_replace("/-+/","-",$promenna); |
||
želva Profil * |
#3 · Zasláno: 24. 6. 2011, 20:58:43
díky moc, funguje mi to!
|
||
Časová prodleva: 13 let
|
0