Hallo Board,
ich hab ein problem mit preg_replace und einem function call.
Ich hab das Board schon durchsucht, aber es hat keiner der Ratschläge geklappt.
Die Funktion wird zwar aufgerufen. Wenn ich aber $elem1 ausgebe bekomme ich statt 15 und 16 in beiden Fällen $1 ausgegeben.
Was läuft da falsch? Erfolgt die Ersetzung mit preg erst nach der Funktionsausführung? Gibt es ein Workaround?. Statt der if Abfragen, kommen später SQL Statements rein.
ich hab ein problem mit preg_replace und einem function call.
Ich hab das Board schon durchsucht, aber es hat keiner der Ratschläge geklappt.
Die Funktion wird zwar aufgerufen. Wenn ich aber $elem1 ausgebe bekomme ich statt 15 und 16 in beiden Fällen $1 ausgegeben.
Was läuft da falsch? Erfolgt die Ersetzung mit preg erst nach der Funktionsausführung? Gibt es ein Workaround?. Statt der if Abfragen, kommen später SQL Statements rein.
PHP-Code:
function replaceText($elem1) {
echo $elem1;
if ($elem1==15) $elem2=10019;
elseif ($elem1==16) $elem2=10020;
elseif ($elem1==17) $elem2=10021;
else $elem2='AAA';
return "index.php?getElement=123123123".$elem1."&a=123123123".$elem2;
}
$var = "dies ist der text mit <a href='siteConnect(15)'>text</a> und <a href='siteConnect(16)'>text2</a> welcher ersetzt werden soll!";
$var = preg_replace("/siteConnect\(([0-9]+)\)/i", replaceText("$1"), $var);
echo $var;
Kommentar