How to loop for every result found in the_content() when using the search query?

got a solution with https://stackoverflow.com/questions/15737408/php-find-all-occurrences-of-a-substring-in-a-string

$lastPos = 0;
$positions = array();

if($pos==''){}
else{
    while (($lastPos = strpos($content, $findme, $lastPos))!== false){
        $positions[] = $lastPos;
        $lastPos = $lastPos + strlen($findme);
        }

    // Displays 
    foreach ($positions as $eachPos){
        $pos = $eachPos;
        $exctractAfterQuery = substr($content,($pos+strlen($findme) ),40);
        $exctractBeforeQuery = substr($content,$pos-40,40);
        $newContent .= "[...".$exctractBeforeQuery.'<strong class="search-highlight">'.$findme."</strong>".$exctractAfterQuery."...]<br>";
        }
}

It works well and no need a plugin. hope this help someone