Moin!
Diese Funktioniert nicht, Script bricht ab:
$text = ereg_replace(":-(","<img border='0' src='".$cfg['graficPath']."/smilies/traurig.gif'>",$text);Diese Funktioniert aber:
#$text = ereg_replace(":-)","<img border='0' src='".$cfg['graficPath']."/smilies/traurig.gif'>",$text);
Reguläre Ausdrücke kennen Zeichen mit besonderer Bedeutung. Runde Klammern gehören dazu. Solche Zeichen muss man mit einem Backslash entschärfen, wenn man das eigentliche Zeichen meint.
Für deinen Zweck ist es aber vollkommen ausreichend, mit str_replace() zu arbeiten. Die Funktion ist schneller und tut genau, was du willst.
http://www.php.net/manual/en/function.str-replace.php
Wenn du unbedingt reguläre Ausdrücke verwenden willst, nimm lieber preg_*-Funktionen - die sind angeblich auch schneller als ereg, und außerdem binärsicher. Außerdem tun sie das gleiche - du hast also eigentlich nur Vorteile.
- Sven Rautenberg
"Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)