note 75405 added to function.preg-replace
| From: | BobJones at osu1 dot php dot net | Date: | Mon, 28 May 2007 05:48:32 +0000 |
| Subject: | note 75405 added to function.preg-replace | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-126977@lists.php.net to get a copy of this message | ||
Heres a great script that I use for my search engine to make keywords appear bold but it can be used
for other uses.
<?php
/*
$keywords = Keywords to highlight
$message = String to highlight the keywords in
$stag = Starting HTML tag for the highlighted string
$etag = Ending HTML tag for the highlighted string
*/
function do_highlight($keywords, $message, $stag = "<b>", $etag =
"</b>"){
preg_match_all("/\"(.*?)\"/", $keywords, $quotes);
foreach($quotes[1] as $quot){
$terms[] = $quot;
}
$keywords = preg_replace("/\".*?\"/", "", $keywords);
$keywords = preg_replace("/\"/", "", $keywords);
$keywords = preg_replace("/ /", " ", $keywords);
$terms = array_merge($terms, explode(" ", $keywords));
foreach($terms as $term){
if(trim($term)){
$message = preg_replace('#(?<=[^\w=])('.$term.')(?=[^\w=])#siU',
$stag.'\\1'.$etag, $message);
}
}
return $message;
}
echo do_highlight('"steve miller band" airliner 1977 paul', "\"Jet
Airliner\" is a song by the Steve Miller band released in 1977 the song was written by Paul
Pena. The song describes a man who is looking for a new life so he sings how he can barely get on a
\"Big ole' Jet Airliner\".");
?>
----
Server IP: 69.39.81.135
Probable Submitter: 68.230.192.222
----
Manual Page -- http://www.php.net/manual/en/function.preg-replace.php
Edit -- https://master.php.net/note/edit/75405
Del: integrated -- https://master.php.net/note/delete/75405/integrated
Del: useless -- https://master.php.net/note/delete/75405/useless
Del: bad code -- https://master.php.net/note/delete/75405/bad+code
Del: spam -- https://master.php.net/note/delete/75405/spam
Del: non-english -- https://master.php.net/note/delete/75405/non-english
Del: in docs -- https://master.php.net/note/delete/75405/in+docs
Del: other reasons-- https://master.php.net/note/delete/75405
Reject -- https://master.php.net/note/reject/75405
Search -- https://master.php.net/manage/user-notes.php