Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 17. 3. 2006, 10:22:09
Dobrý den, rád bych se zeptal, jaký způsob nahrazování částí textu je v php nejrychlejší. Mám např. tento script, ale tuším, že asi nebude nejrychlejší:
function nahradit($src){ $src=str_replace("zloduch","hodný",$src); $src=str_replace("bordel","nepořádek",$src); $src=str_replace("červená","rudá",$src); return $src; } jde mi o to, abych určité části proměnné nahradil jinými (fungovalo by to v podstatě na bázi cenzury). Jakým způsobem mohu výše uvedený příklad vyřešit nejlépe? Mám totiž takový pocit, že výše uvedená funkce nahradit() prochází celou proměnnou $src tolikrát, kolikrát je pod ní uvedeno str_replace (tedy že jednou se vše projde a nahradí zloduch, pak se vše i s nahrazeným zloducehm projde znovu a nahradí se bordel, atdatd.) Děkuji za pomoc. Michal |
||
DoubleThink Profil * |
#2 · Zasláno: 17. 3. 2006, 10:27:53 · Upravil/a: DoubleThink
myslím, že rychleji, než str_replace žádná funkce nepracuje. Mohl bys použít preg_replace, ale ta je určitě pomalejší - pracuje s regulárním výrazem.
Podle mě řešíš hlouposti - pokud tvůj text nemá přes 10mil znaků, tak nemáš šanci spozorovat žádnou prodlevu bez ohledu na použitou metodu. |
||
Peca Profil |
#3 · Zasláno: 17. 3. 2006, 10:41:15
Čistě teoreticky, nemohla by funkce strtr být rychlejší? Mohla by ten řetězec prohledávat jen jednou.
|
||
Anonymní Profil * |
#4 · Zasláno: 17. 3. 2006, 10:56:45
Něco takového, jak píše Peca, jsem měl namysli. Ale pokud je rozdíl takový, jak píše DoubleThing v poslední větě svého příspěvku, asi to nemá smysl... ?
Michal |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0