Hi,
also ich hab folgenden txt
str = "Hier kommt die ID:[id=276]";
$str = preg_replace("![id=(1-9*)]!U", '<a href="...?$1">'.$id_namen[$1].'</a>', $str);
Das 1-9 muss in eckige klammern. Momentan suchst du nach dem String "1-9". Wenn es vorkommen kann, dass die id eine 0 enthält (z.B. 205) müsstest du dann "[0-9]*" (oder kürzer "\d*") dafür schreiben.
echo str;
jetzt sollte "Hier kommt die ID:<a href="...?$1">Hannes</a>" erscheinen.
Doch es passiert gar nix...
Weil dein Muster nicht passt.
mfG,
steckl