highlighting multi term search results

From: Date: Sun, 07 Sep 2003 12:05:08 +0000
Subject: highlighting multi term search results
Groups: php.general 
Request: Send a blank email to php-general+get-161901@lists.php.net to get a copy of this message
hi, i'm working on a function that highlights search results. problem: a search input like "te est"; two terms that match one word ("test"). the mysql query matches entries like this but my function isn't able to highlight them the right way: <? function highlight($src_terms, $src_terms_int, $result) { $i = 0; while ($i < $src_terms_int) { $result = preg_replace('/('.$src_terms[$i].')/si', '<b>'.$src_terms[$i].'</b>', $result); $i++; } return $result; } $search = "te est"; // user input to search for $src_terms = explode(" ", $search); $src_terms_int = count($src_terms); $result = "this is just a test"; // result from database print highlight($src_terms, $src_terms_int, $result); ?> output: this is just a <b>te</b>st (after the first term is highlighted the second one can't be found anymore.) someone has an idea how to work around this? thanks for your effort! jonas ps: please also let me know if you know of a website that might help, i didn't find anything useful. thanks!

« previous php.general (#161901) next »