Hallo Coder,
wie es der Titel schon sagt, möchte ich z.B. 5 Wörter vor und nach dem Suchtreffer ausgeben.
Bis zur Positionsermittlung der Suchbegriffe war es kein Problem, aber leider weiss ich nun nicht weiter.
Habe es schon mit substr versucht, bekomme es aber nicht gebacken
.
Könnt ihr mir helfen?
Hier mal mein Snippet:
Alles anzeigen
Schon mal danke im Vorraus!
Grüße KMD
wie es der Titel schon sagt, möchte ich z.B. 5 Wörter vor und nach dem Suchtreffer ausgeben.
Bis zur Positionsermittlung der Suchbegriffe war es kein Problem, aber leider weiss ich nun nicht weiter.
Habe es schon mit substr versucht, bekomme es aber nicht gebacken

Könnt ihr mir helfen?
Hier mal mein Snippet:
Quellcode
- $string = strip_tags($string);
- $stringlow = strtolower($string);
- $searchlow = strtolower($search);
- # die und-Verknüpfung:
- $search_arr = explode(" ",trim($searchlow));
- $search_count = count($search_arr);
- $i = 0;
- $trefferArray = array(); // Array definieren
- foreach ($search_arr as $search_word) // Suchbegriffe durchlaufen
- {
- if (preg_match("/($search_word)/i", $stringlow)) // wenn Suchbegriff gefunden wurde
- {
- $i++;
- $pos = strpos($stringlow, $search_word);
- // echo "Position = ".$pos."<br>";
- ///////////////////////////////////////////////
- // Dieser Teil fehlt mir :(
- // $rest = ???;
- ///////////////////////////////////////////////
- // Suchstring mit 5 Wörter vor und nach dem Treffer in das Array schreiben
- array_push($trefferArray, $rest);
- // Wenn alle Suchbegriffe gefunden wurden, Array mit Treffer-Texte ausgeben
- $arr_treffer = count($trefferArray);
- if ($arr_treffer == $search_count)
- {
- foreach($trefferArray as $treffer)
- {
- echo " ".$treffer." ";
- }
- }
- }
- }
Schon mal danke im Vorraus!
Grüße KMD