php-general | 2005051

[PHP] Re: marking words bold From: AC (alcastle <email protected>)
Date: 05/11/05

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