Eigenen Tag duch Bild ersetzen

Hallo zusammen,
nachdem ich den Nachmittag drüber gegrübelt habe und bei mir grad die Luft raus wollte ich hier im Brett mal nachfragen.

Folgendes:
ich habe einen Text indem von mir definierte Tags vorkommen. Diese sehen so aus: [bild=x] Für x wird eine ID eingesetzt.

Ich möchte für diesen Tag nun ein Bild einsetzen. Den Dateinamen kann ich mir aus meiner DB holen, die ID steht ja im Tag.

Ich muß also zuerst die ID aus dem Tag rausholen, die Bildinformationen aus der DB holen und anschließend den Tag entsprechend ersetzen. Und das natürlich für alle Tags aus dem gesamten Text.

Leider stell ich mich grade etwas unfähig an.

Ideen?

Besten Gruß,
Daniel.

ereg_replace
Beispiel 3. Ersetzen von URLs durch Links

<?php $text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
 "[\\0](%255C%2522%255C%255C0%255C%2522)", $text);
?\> 

so ganz blick’ ich das nu auch nich… aber damit gehts… :wink:

Hallo,

ja richtig. Die eleganteste Methode ist die mit reg-Ex. Dazu auch:

$text=ereg_replace("[bild=([0-9]*)]","",$text);

würde den Dienst erweisen. Dabei definierst du im ersten Parameter den Suchstring:

„[bild=“ ist klar, dann kommt für den Interpreten eine beliebig lange durchgängie Zahl „*“ und dann wird die Klammer zugemacht „]“. Wenn er diesen String findet, dann speichert er die Zahl in einer Zwischenvariable (entweder \0 oder \1, da bin ich mir nicht sicher) und kann den gesamten String mit dem neuen string (zweiter Parameter) ersetzen.

Gruss, Omar Abo-Namous

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

1 Like

Hi,
vielen Dank, hab es nun hinbekommen.

Mit ereg_replace wollte er erst nicht so recht, mit preg_replace ging es dann besser.

Letztendlich benutze ich nun preg_replace_callback, da kann ich zum Ersetzen auch eine Funktion einsetzen.

Danke euch beiden.

Gruß,
Daniel.