Stefan: Link-var hinzufügen

Hi!

Ich möchte einen beliebigen Text, der Links in dem Shema '<a href="[link]">' besitzt mit zusätzlichen vars bestücken
=><a href="[link]?weitere_var=1">
Das würd ich ja so machen:

$text = preg_replace('=<a href="(.*)">=U', "<a href="$1?weitere_var=1">", $text);

Was mach ich aber, wenn der Link schon eine var übergibt, dann hätte ich ja 2 Fragezeichen im Link?

Danke
Stefan

  1. Mit einer callback-Funktion zum Beispiel. Die Waffe deiner Wahl wäre in diesem Fall preg_replace_callback() wobei die von dir verwendete Callback-Funktion mittels des dir sicherlich bekannten if-Statements unterscheidet, ob bereits ein ? an deinem Link hängt und daher gegebenfalls um ein "&amp;" ergänzt.

    Viel Spaß beim Umsetzen.

    1. Wie gehts das?

      Sry, aber ich kapier das grad ned :-(

      1. Wie gehts das?

        Sagt dir http://de3.php.net/manual/de/function.preg-replace-callback.php.

        Du erstellst einfach eine Funktion, die einen (!) Parameter vorsieht à la my_function($match) und rufst diese per preg_replace_callback wie im Manual beschrieben auf.

        Mit $match steht dir dann innerhalb von my_function ein Array zur Verfügung das alle von dir gefundenen Schlüssel enthält. Dein return Wert wird dann auch von der callback-Funktion zurückgegeben.