Tobias Kloth: Etwas ersetzten, egal ob groß oder klein

Beitrag lesen

Hallo Andavos,

auch wenn es inzwischen funktioniert noch eine kleine Erläuterung:

$var1 = "[TeSt] test";
$var1 = eregi_replace("[test]", "TEST", $var1);
echo $var1;

Ausgabe:
[TESTTESTTESTTEST] TESTTESTTESTTEST

mit den eckigen Klammern ('[' und ']') definierst du in regulären Ausdrücken eine Zeichenklasse - du willst allso jedes Zeichen das in dieser Zeichenklasse steht (also 't','e' und 's') durch 'TEST' ersetzen - und genau das macht deine Funktion :-) Um Sonderzeichen verwenden zu können musst du sie mit einem \ maskieren (siehe auch http://selfhtml.teamone.de/cgiperl/sprache/regexpr.htm#zeichen).

statt eregi_replace solltest du aber preg_replace verwenden (wobei du noch ein 'i' am Ende des Ausdrucks (damit Groß-/Kleinschreibung ignoriert wird) sowie Begrenzer (keine Ahnung, ob die wirklich so heißen :-)) brauchst):

echo preg_replace('/[test]/i','TEST','[TeSt] test');
//sollte (habs nicht getestet) '[TEST] test' ausgeben

Grüße aus Nürnberg
Tobias

--
Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|