note 107313 added to function.str-ireplace
| From: | victor at viathinksoft dot de | Date: | Mon, 30 Jan 2012 10:28:18 +0000 |
| Subject: | note 107313 added to function.str-ireplace | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-185792@lists.php.net to get a copy of this message | ||
Here is an improved version of chud37.com's function. It now works with perfect matches, too -
highlight('abc', 'abc') didn't work in the old version.
<?php
function highlight($haystack, $needle) {
if (strlen($haystack) < 1 || strlen($needle) < 1) {return $haystack;}
preg_match_all("/$needle+/i", $haystack, $match);
$exploded = preg_split("/$needle+/i",$haystack);
$replaced = "";
foreach($exploded as $e) {
foreach($match as $m)
if ($i < count($exploded)-1) {$replaced .= $e . "<font
class=\"hl\">" . $m[0] . "</font>";} else {$replaced .= $e;}
$i++;
}
return $replaced;
}
?>
----
Server IP: 69.147.83.197
Probable Submitter: 84.59.138.160
----
Manual Page -- http://www.php.net/manual/en/function.str-ireplace.php
Edit -- https://master.php.net/note/edit/107313
Del: integrated -- https://master.php.net/note/delete/107313/integrated
Del: useless -- https://master.php.net/note/delete/107313/useless
Del: bad code -- https://master.php.net/note/delete/107313/bad+code
Del: spam -- https://master.php.net/note/delete/107313/spam
Del: non-english -- https://master.php.net/note/delete/107313/non-english
Del: in docs -- https://master.php.net/note/delete/107313/in+docs
Del: other reasons-- https://master.php.net/note/delete/107313
Reject -- https://master.php.net/note/reject/107313
Search -- https://master.php.net/manage/user-notes.php