Hallo Heizer,
Also einfach gesagt: Er soll "ab" und "ba" finden, aber nicht "aa" oder "bb". Ich weiß natürlich daß ich hier (ab|ba) schreiben könnte, aber wenn ich a und b durch komplexe Ausdrücke ersetze, dann wird das sehr sehr komplex. Wenn ich aber (a|b){2} schreibe, dann findet er eben auch "aa". Vielleicht weiß du da ja auch irgendeinen ganz einfach Trick...
so banal das auch aussehen mag:
Definition der zu ersetzenden Werte:
$such=array(
'ww'=>'ab',
'WW'=>'ba',
'gb'=>'cd',
'bg'=>'dc');
Definition der Basisdaten
$data=hole_DB_data_als_array();
Prüfen
foreach($data as $key=>$value)
foreach($such as $k=>$v)
$pruef[$key][$k]=str_replace($k,$v,$value);
Egal wie die Daten zu ersetzen sind, nach "Prüfen" hast Du in Form des aufgebauten Datenfeld $pruef immer noch den Bezug zu allem, was bereits geschen ist.
1.) Für Anpassungen der Suche ist dies ein erheblich
einfacher zu haltendes Verfahren, das ohne Kom-
mentierung überschaubar bleibt.
2.) Für spätere Anpassungen halte ich es für nicht
Unerhelblich immer den Bezug innerhalb $pruef zu
haben.
3.) Mach mal ein Benchmark.
Gruß aus Berlin!
eddi