Autor Zpráva
Anonymní
Profil *
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 *
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
Čistě teoreticky, nemohla by funkce strtr být rychlejší? Mohla by ten řetězec prohledávat jen jednou.
Anonymní
Profil *
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
Toto téma je uzamčeno. Odpověď nelze zaslat.

0