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,
merlin
I 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.";
}
?>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php