phpbar.de logo

Mailinglisten-Archive

[php] Wiederholungen begrenzen

[php] Wiederholungen begrenzen

Andreas Lange andreas.lange at haas-media.de
Die Jun 15 14:31:37 CEST 2004


René Thiel wrote:
> ich möchte in einem String die Wiederholungen *beliebiger*
> Zeichenfolgen auf 3 reduzieren. Beispiel: ";-) ;-) ;-) ;-) ;-) ;-)
> ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-)"
> Ergebnis: ";-) ;-) ;-)"

> Hat da jemand einen Vorschlag?

Das Problem erstmal in verschiedene Teilprobleme zerlegen ;-)

1. Finden der sich wiederholenden Zeichenkette. Sequentiell einen
Teilstring aufbauen (bis zu einer maximalen Länge) und prüfen, ob auf
den Teilstring nochmals der Teilstring folgt -> Muster gefunden.

2. Finden einer Gruppe dieser Zeichenkette und eventuelles Reduzieren,
das sollte ganz gut mit Regulären Ausdrücken gehen.

Die Problemstellung ist aber zu spezifisch, als das ich jetzt mal auf
die Schnelle ein paar Codeschnipsel aus dem Ärmel schüttel. Sollte
aber nicht wirklich aufwendig sein (2-3 Stunden). Das Problem kann
aber beliebig kompliziert werden, wenn das Muster auch noch irgendwo
im Text steht und beliebig lang ist. Das Muster zu finden ist auf
jeden Fall ein rekursives Suchverfahren und damit langsam bei grossen
Datenmengen.

-- 
Andreas Lange


php::bar PHP Wiki   -   Listenarchive