Hallo!
Ich lese Dateien mit fread() ein. Die Inhalte möchte ich abspeichern, dafür fallen mir 3 Möglichkeiten ein.
1. Alle Inhalte in einem Array speichern
2. Alle Inhalte in eine Varibale packen, also der String wird mit jeder Datei erweitert und hat am Ende sehr sehr viele Zeichen
3. Ich packe die Inhalte in den Ausgabepuffer
Später möchte ich die Wörter aller Dateien für einen Vergleich mit einem Suchwort haben. Das Bedeutet, ich nehme die Inhalte aus einer der oben erwähnten Möglichkeiten und zerlege sie in einzelne Worte mit split() z.b., säuber sie von Sonder- und Leerzeichen u.a. und starte dann den Vergleich mit dem Suchwort.
Bisher habe ich das so gemacht:
// Doppelte Werte werden aus dem Array entfernt
$AllWords = array_unique($AllWords);
// Suchwort wird mit "relevanten" Wörtern verglichen
foreach($AllWords as $woerter){
similar_text ($suchwort,$woerter,$prozent);
//Wenn das Suchwort im Vergleichswort enthalten ist
//oder die Ähnlichkeit höher als 60% ist, soll das Vergleichswort als Alternative angeboten werden
if($prozent>65.00||preg_match("/".$suchwort."/i",$woerter)){
echo "<a class='cnt' href='?cnt=../suche.php&sw=".$woerter."'>".$woerter."</a><br>";
}
}
}
Was aber je nach Menge von Dateien und dem entsprechend vielen Wörtern, sehr lange dauert. Seht ihr hier eine optimierungsmöglichkeit?
Gruß
Homer J