Hallo Leute,
Ich hab nen string, der [titel=wert]
enthält.
und diesen Teil will ich durch z.B.
getdesc(wert); ersetzen - also durch den Rückgabewert der Funktion getdesc von wert.
Dazu habe ich
$searcharray[]="/[titel=([^\"]*)\]/siU";
$replacearray[]=getdesc("$1","titel");
$site = preg_replace($searcharray, $replacearray, $site);
versucht. $1 wird auch an getdesc() übergeben, doch irgendwie funzt die Routine trotzdem net.
function getdesc($site_id) {
global $db_zugriff;
$result = $db_zugriff->query_first("SELECT field FROM sites WHERE site_id='$site_id'");
return $result[field];
}
die Query, die gesendet wird, sieht dann aber so aus... Select ... site_id='$1';
es wird also nicht $1 durch wert ersetzt sondern es bleibt einfach so.
Wenn ich allerdings nur
return "Desc($site_id)"; zurückgebe, wird daraus
Desc(1).
Wenn ich allerdings.
$foo = "Desc($site_id)";
return $foo; mache,
wird Desc($1) zurückgegeben.
Ich kann $site_id also nicht richtig verwenden.
Weiß jemand Rat ?
Ich hab nen string, der [titel=wert]
enthält.
und diesen Teil will ich durch z.B.
getdesc(wert); ersetzen - also durch den Rückgabewert der Funktion getdesc von wert.
Dazu habe ich
$searcharray[]="/[titel=([^\"]*)\]/siU";
$replacearray[]=getdesc("$1","titel");
$site = preg_replace($searcharray, $replacearray, $site);
versucht. $1 wird auch an getdesc() übergeben, doch irgendwie funzt die Routine trotzdem net.
function getdesc($site_id) {
global $db_zugriff;
$result = $db_zugriff->query_first("SELECT field FROM sites WHERE site_id='$site_id'");
return $result[field];
}
die Query, die gesendet wird, sieht dann aber so aus... Select ... site_id='$1';
es wird also nicht $1 durch wert ersetzt sondern es bleibt einfach so.
Wenn ich allerdings nur
return "Desc($site_id)"; zurückgebe, wird daraus
Desc(1).
Wenn ich allerdings.
$foo = "Desc($site_id)";
return $foo; mache,
wird Desc($1) zurückgegeben.
Ich kann $site_id also nicht richtig verwenden.
Weiß jemand Rat ?
Kommentar