Jump to content

Highlighting matched results.


ted_chou12

Recommended Posts

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

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 />";
?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.