note 30586 added to function.str-replace
| From: | chirag at chime dot tv | Date: | Sun, 23 Mar 2003 05:34:39 +0000 |
| Subject: | note 30586 added to function.str-replace | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-45664@lists.php.net to get a copy of this message | ||
All the Google-like highlight functions above mess up when the needle is within the url too.
getHTMLHighlight function below works fine:
function getHighlight($needle, $haystack)
{
return preg_replace('|\b('.quotemeta($needle).')\b|iU', "<b
style=\"background-color:#FE923A\">".'\\1'."</b>",
$haystack);
}
function getHTMLHighlight($needle, $haystack)
{
$parts = explode(">", $haystack);
foreach($parts as $key=>$part)
{
if($pos = (strpos($part, "<")) === false)
$parts[$key] = getHighlight($needle, $part);
else
{
$partLeft = substr($part, 0, $pos-1);
$partRight = substr($part, $pos, strlen($part));
$parts[$key] = getHighlight($needle, $part) . $partRight;
}
}
return(implode(">", $parts));
}
--
http://www.php.net/manual/en/function.str-replace.php
http://master.php.net/manage/user-notes.php?action=edit+30586
http://master.php.net/manage/user-notes.php?action=delete+30586
http://master.php.net/manage/user-notes.php?action=reject+30586