Claudia: reguläre Ausdrücke

Hallo!

Ich habe eine Frage zu regulären Ausdrücken. Und zwar
will ich in folgendem Schnipsel

$begriff_neu = eregi_replace("%29",")",$begriff_alt);

den Bereich                  "%29",")"

mit einer Variable ersetzen

$variable='"%29",")"';

Jedoch kriege ich immer eine Fehlermeldung, wenn ich den Schnipsel

begriff_neu = eregi_replace($variable,$begriff_alt);

ausführen will. Ich habs schon mit Klammern und print'$variable'; oder echo'$variable'; versucht. Leider ohne Erfolg.

Kann mir bitte jemand auf die Sprünge helfen? Das wäre seeeehr lieb!

Liebe Grüsse
Claudi

  1. Liebe Claudia,

    die Funktion erwartet _drei_ Parameter! Da kannst Du nicht einfach zwei davon in einer Variablen verstecken und diese quasi als Doppelportion verfüttern!

    Ein Lösungsvorschlag wäre, ein Array zu verwenden.

    $variable = array();
    $variable[1] = "%29";
    $variable[2] = ")";

    $begriff_neu = eregi_replace($variable[1], $variable[2],$begriff_alt);

    So sollte es klappen.

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

  2. gudn tach Claudi!

    hat zwar nix direkt mit deinem problem zu tun, aber:

    $begriff_neu = eregi_replace("%29",")",$begriff_alt);

    falls du wirklich bloss diese ersetzung durchfuehren willst, empfehle ich, hier auf regexp zu verzichten und statt dessen str_replace() einzusetzen.
    im php-manual steht zu str_replace: "If you don't need fancy replacing rules (like regular expressions), you should always use this function instead of ereg_replace() or preg_replace()."

    bleibt noch die frage, warum du die beiden parameter vereinen moechtest?

    prost
    seth