Hallo,
das Problem mit meinem Skript ist folgendes: Es durchsucht mittels while(preg_match(...)) einen Text nach Inhalten und schreibt diese dann in eine Datei. Seltsamerweise findet die Schleife jedoch jeden Fundort mehrmals und das in total seltsamen Mustern. Ist ein Match zum Beispiel 10 mal enthalten, findet sie erst diese 10 in der Reihenfolge von unten nach oben und dann geht's erst richtig los: es folgen noch ca. 40 weitere Funde derselben Stellen in unnachvollziehbarer Reihenfolge. (Natürlich wird der zu durchsuchende Text immer neu geschrieben und die Fundstellen verschwinden physikalisch aus dem zu durchsuchenden Text!)
Ich habe mit jedem Durchlauf der Schleife den gesamten Text wieder ausgeben lassen und dort ist alles korrekt, es kommen auch nur 10 Ausgaben, doch dann habe ich einen Counter der Schleifen-Durchläufe mit in die Datei schreiben lassen und siehe, es ist Kraut und Rüben: 0,1,2,0,1,0,1,0,1,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,7,8,9,6,7,8,9,6,8,7,9,8,9. Man könnte auch sagen: Tohuwabohu.
Aber jetzt kommt's ja erst: diese durcheinander geratenen Einträge werden erst in die Datei geschrieben, wenn ich im Browser bereits das korrekte Ergebnis sehe. Ich habe mir die Timestamps mit ausgeben lassen, und all diese Einträge geschehen zwischen 2 und 9 Sekunden, nachdem das Skript beendet ist.
Das kann ich leider nicht nachvollziehen und frage nun, ob sowas normal ist oder ob ihr wisst, was ich dagegen tun kann.
Ich würde als nächstes die komplette Struktur des Skriptes testweise verändern um zu sehen, ob es am Programm selber liegt, aber was, wenn's das auch nicht bringt...
Vielen Dank,
Ben