<?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("ä", "ö", "ü", "ß", "Ä", "Ö", "Ü"), $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; } ?>