Revision: 22520
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 14, 2010 06:38 by giak
Initial Code
/* neo_highlight_keywords(string $text, array $keywords, string $tag_start, string $tag_end) use : echo neo_highlight_keywords($text, $keywords, '<span>', '</span>'); $keywords between $tag_start and $tag_end better match with function neo_remove_accent() */ function neo_highlight_keywords($text, $keywords, $tag_start, $tag_end){ $original = $text; $text = strtolower($text); // can use with function neo_remove_accent($text) $tagLen = (strlen($tag_start) + strlen($tag_end)); foreach($keywords as $keyword){ $keyword = strtolower($keyword); // can use with function neo_remove_accent($text) $current = $offset = $delta = 0; $len = strlen($keyword); while(( FALSE !== ($pos = strpos($text, $keyword, $offset)))){ $original = substr($original, 0, ($pos + $delta)) .$tag_start.substr($original, ($pos + $delta), $len).$tag_end .substr($original, ($pos + $delta + $len)); $delta += $tagLen; // Add String Tags Lenght $offset = $pos + 1; } } return $original; }
Initial URL
http://www.giacomel.fr
Initial Description
Initial Title
PHP : highlight keywords in a text
Initial Tags
array
Initial Language
PHP