Re: marking words bold
| From: | AC | Date: | Wed, 11 May 2005 21:16:38 +0000 |
| Subject: | Re: marking words bold | ||
| References: | 1 | Groups: | php.general php.general |
| Request: | Send a blank email to php-general+get-214980@lists.php.net to get a copy of this message | ||
Merlin wrote:
Hi there, I am trying to mark words inside a sentence bold. Problem is, if there is an overlap it does not work anymore. I am using this code: $t = str_replace($word, "<b>$word</b>", $text); For eample: Mark those words bold: adventure in singapore Text: My adventure flying to singapore The problem lays in the word "in". The code I use does produce following: <b>s<b>in</b>gapore</b> which of course does not work properly. Does anybody have a good sugestion on how to improve this?` Thank you for any help, merlinI whipped this together, it should work ok. You'll want to clean it up, but you get the gist. <?php /* AC Was here */ $str="I'm going to the store to buy some stuff."; $bold=array("store","some","stuff"); function boldWord($str,$bold) { if(isset($str)) {
foreach($bold as $b) {
echo "$b should be <b>$b</b>\n";
$str = eregi_replace($b,"<b>$b</b>",$str);
}
$string=$str;
return $string;
} else {
$string='The inputed variable $str was empty.';
return $string;
}
} // End function bracket
// Example usage
if(isset($str)) {
$string=boldWord($str,$bold);
echo "Original: $str \n";
echo "New: $string\n";
} else {
echo "Variable str not set.";} ?>