Funktion zu Ineffizient?



  • Hi,

    ich hab mir gestern mal quick'n dirty ne funktion gecodet:

    function replaceTextToSmilies($text)
    {
    	$blub = $text;
    
    	$blub = eregi_replace(":)", "<img alt=\":)\" src=\"gfx/smilies/smile.gif\">", $blub);
    	$blub = eregi_replace(":-)", "<img alt=\":)\" src=\"gfx/smilies/smile.gif\">", $blub);
    
    	$blub = eregi_replace(";)", "<img alt=\";)\" src=\"gfx/smilies/wink.gif\">", $blub);
    	$blub = eregi_replace(";-)", "<img alt=\";)\" src=\"gfx/smilies/wink.gif\">", $blub);
    
    	$blub = eregi_replace(":lol:", "<img alt=\"lol\" src=\"gfx/smilies/lol.gif\">", $blub);
    	$blub = eregi_replace(":w00t:", "<img alt=\"w00t\" src=\"gfx/smilies/w00t.gif\">", $blub);
    
    	return $blub;
    }
    

    Kann man die Optimieren? Wenn ja, wie?



  • Anstatt eregi_replace() würde ich str_replace() (bzw. str_ireplace()) verwenden. Das dürfte schneller sein und macht auch nicht weniger in deinem Fall.

    PS: Evtl. wärs noch gut, wenn du das ganze über eine Schleife und einem (oder mehreren) Array(s) regeln könntest. 😉



  • Du kannst str_replace auch direkt die Arrays für die Ersetzung übergeben 🙂


Anmelden zum Antworten