]> git.mjollnir.org Git - moodle.git/commitdiff
Fix for bug #2323 - forum search problem
authorfiedorow <fiedorow>
Fri, 31 Dec 2004 15:23:50 +0000 (15:23 +0000)
committerfiedorow <fiedorow>
Fri, 31 Dec 2004 15:23:50 +0000 (15:23 +0000)
lib/weblib.php

index 0aa34c343a95eb9c024dea3d98477f446817d6da..f5a56c238775cbc43ff513d5709cb25d66932aa9 100644 (file)
@@ -1394,7 +1394,7 @@ function highlight($needle, $haystack, $case=0,
         return $haystack;
     }
 
-    $list_of_words = eregi_replace("[^-a-zA-Z0-9&']", " ", $needle);
+    $list_of_words = eregi_replace("[^-a-zA-Z0-9&.']", " ", $needle);
     $list_array = explode(' ', $list_of_words);
     for ($i=0; $i<sizeof($list_array); $i++) {
         if (strlen($list_array[$i]) == 1) {
@@ -1419,12 +1419,18 @@ function highlight($needle, $haystack, $case=0,
     if ($list_of_words_cp{strlen($list_of_words_cp)-1}=='|') {
         $list_of_words_cp{strlen($list_of_words_cp)-1}='';
     }
-    $list_of_words_cp = '('. trim($list_of_words_cp) .')';
 
-    if (!$case){
-        $haystack = eregi_replace($list_of_words_cp, $left_string ."\\1". $right_string, $haystack);
-    } else {
-        $haystack = ereg_replace($list_of_words_cp, $left_string ."\\1". $right_string, $haystack);
+    $list_of_words_cp = trim($list_of_words_cp);
+
+    if ($list_of_words_cp) {
+
+      $list_of_words_cp = "(". $list_of_words_cp .")";
+
+      if (!$case){
+        $haystack = eregi_replace("$list_of_words_cp", "$left_string"."\\1"."$right_string", $haystack);
+      } else {
+        $haystack = ereg_replace("$list_of_words_cp", "$left_string"."\\1"."$right_string", $haystack);
+      }
     }
     $haystack = str_replace(array_keys($final),$final,$haystack);