<?php
setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
function highlight_results($text, $suchart, $query, $split="|", $ln_zaehler="1") {

if ($suchart == 1){
  $suchopt = "{0,1}";
}else{
  $suchopt = "";
}


$query1 = preg_replace('/\s{2,}/sm',' ',$query,PREG_SET_ORDER); //Mehr als zwei leerzeichen entfernen
$query2 = preg_replace("/(\+{0,}\*{0,}%{0,})(\"([^\"]+)\"\*{0,}%{0,}\+{0,}|\+{0,}\*{0,}%{0,}(\w+)\*{0,}%{0,}\+{0,})/", '|\2', $query1); // gleich wie in suche.php: + * und " richtig interpretieren
$query3 = preg_replace("/\-{1,}\|\"([^\"]+)\"\s*|\-{1,}\|(\w+)\s*/", '', $query2); // Alle Begriffe die ein Minus haben entfernen
$query4 = preg_replace("/\"|\\\/", '', $query3); // Hochkomma, Backlash entfernen
$query5 = preg_replace("/\s{0,1}\|/", '|', $query4); // Leerzeichen in Verbindung mit | entfernen. Es kann nur 1 Leerzeichen geben, wegen query1
$query6 = preg_replace("/^\||\s$/", '', $query5); // Erstes | entfernen und letztes Leerzeichen
$query6 = str_replace (array("ä", "ö", "ü", "ß", "Ä", "Ö", "Ü"), array("&auml;", "&ouml;", "&uuml;", "&szlig;", "&Auml;", "&Ouml;", "&Uuml;"), $query6);

$results = explode($split, $query6);
 foreach($results as $result) {

   
  if($ln_zaehler == 6){  
    $zahl_r = 255;
    $zahl_g = 150;
    $zahl_b = 255;
    $ln_zaehler = 1;
  }
   
  if($ln_zaehler == 5){  
    $zahl_r = 150;
    $zahl_g = 150;
    $zahl_b = 255;
    $ln_zaehler = 6;
  }

  if($ln_zaehler == 4){  
    $zahl_r = 150;
    $zahl_g = 255;
    $zahl_b = 255;
    $ln_zaehler = 5;
  }

  if($ln_zaehler == 3){  
    $zahl_r = 155;
    $zahl_g = 255;
    $zahl_b = 150;
    $ln_zaehler = 4;
  }

  if($ln_zaehler == 2){  
    $zahl_r = 255;
    $zahl_g = 150;
    $zahl_b = 150;
    $ln_zaehler = 3;
  }

  if($ln_zaehler == 1){  
    $zahl_r = 255;
    $zahl_g = 255;
    $zahl_b = 150;
    $ln_zaehler = 2;
   }


  $text = preg_replace('/([^öäüß\w\d][^"&ref="]{1,})(' . preg_quote($result, '/') . ')([^öäüß\w\d])'.$suchopt.'/i',  //suchmuster --> letzter * = ähnliche Suche
                       '\1<span style="background-color:rgb('.$zahl_r.', '.$zahl_g.', '.$zahl_b.')"><b>\2</b></span>\3', //ersatz
                       $text); //zeichenkette
                        # [^"&ref="]{1,} --> Syntaxhighlighting nicht innerhalb des Links, der zu bibleserver verweist &ref=1.Mose3,5 --> &ref=<span style ...>1Mose..

}
return $text;
}
?>