ted_chou12 Posted April 11, 2007 Share Posted April 11, 2007 When I am trying to highlight the matched results: <?php $string = "This is Good and Bad"; $search = "good bad"; $words = preg_split("/\s+/", $search); foreach ($words as $word) { preg_quote($word, "/"); $string = preg_replace("/\b$word\b/i", "<b>$word</b>", $string);} echo "$string<br />"; The results becomes "This is <b>good</b> and <b>bad</b>" However, I wish the matched strings to remain in their orignal formats: "This is <b>Good</b> and <b>Bad</b>" so that they do not mislead the information. Can anyone suggest me how can I go about doing that? Thanks Ted Link to comment https://forums.phpfreaks.com/topic/46608-highlighting-matched-results/ Share on other sites More sharing options...
effigy Posted April 11, 2007 Share Posted April 11, 2007 I changed the replace and fixed a bug on my part with the preg_quote. <?php $string = "This is Good and Bad"; $search = "good bad"; $words = preg_split("/\s+/", $search); foreach ($words as $word) { $word = preg_quote($word, "/"); $string = preg_replace("/\b($word)\b/i", '<b>$1</b>', $string); } echo "$string<br />"; ?> Link to comment https://forums.phpfreaks.com/topic/46608-highlighting-matched-results/#findComment-227160 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.