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 ...)