Re: marking words bold

From: 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, 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.";
} ?>

« previous php.general (#214980) next »