Harry: Lösung (korrigiert)

Beitrag lesen

Jo mei ...

nach ein paar weiteren Stunden angestrengten Nachdenkens freue ich mich die absolut simple Lösung zu präsentieren ... *grrrrrrrrr*

Und dieses Ergebnis hat einen dicken Bug: Das Script verfängt sich in einer Endlosschleife, wenn nicht alle eckigen Klammern ersetzt werden können ...
Für's Archiv die korrigierte Version:

if(substr_count($text, "]")<substr_count($text, "["))
 $wieoft = substr_count($text, "]")
else
 $wieoft = substr_count($text, "[")

$count = 0;
while(preg_match("/([[^[^]]*])/", $text) && $count<$wieoft)
{ $t = preg_split("/([[^[^]]*])/", $text, -1, PREG_SPLIT_DELIM_CAPTURE);
  for($i=0; $i<count($t); $i++)
  {
    # Hier Ersetzungen vornehmen
  }
  $text = implode("", $t);
  $count++;
}

Ciao,

Harry
 (der echte)
 (überall Plagiate, tsts ...)