Search term highlighting on my site

Keith posted about his efforts to highlight Google search terms. This is interesting! I may be able to create a b2-prefunction that does the same for b2++.
Update! I modified my original highlightsearch() function, adding in most of the code found on textism.org which also fixes the problem of highlighting text inside html links! Woo!
Here’s a Google search for you to try. Hit the Holy Shmoly link to see the highlighted text!
Again, if you want to add this to your own blog, just edit post.tpl add add the highlightsearch modifier around $the_content:

{$the_content|highlightsearch}

You’ll then have access to lots of highlighted search results!

Phoenix / Firebird – the new Mozilla

Prompted by Simon’s posting last night I tried the nightly build of Phoenix. It’s nice, very nice in fact. It feels a lot more responsive than Mozilla or Galeon, but in the latter case, that could be because I have a dozen tabs open..
Fonts don’t look as nice, but maybe there’s ways to force it to use the nice new sans fonts Galeon’s been using on my machine? I don’t know, and haven’t got time this morning to check. Worth a look at though!

new b2 snapshot

I released a new b2 snapshot today. This is the first release I’ve testing in Windows. By default Apache on Windows doesn’t enable mod_rewrite so I added code to catch when that happens.
Here’s the b2 discussion board I announced the new release on.
Download the new snapshot. You should probably download both the src and data packages as there are a number of template fixes too.

b2 Search Highlight Modifier

There’s a nice generalised text highlighter on the Smarty Plugins Wiki page so I modified it slightly to highlight b2 searches! Here’s a search for smarty that shows off this new plugin.
How do you use it? Modify your post.tpl and add the modifier to the_content variable like this:

{$the_content|highlightsearch}

If you want different colours try this:

{$the_content|highlightsearch:”<b style=’color: #000; background-color: #f00;’>”:”</b>”}

Text inside html links is also modified so links may be broken. Is there an easy way around that?
Here’s the code for the modifier. Just place it into a file called “modifier.highlightsearch.php” in your plugins directory!

<?php
/*
* Smarty plugin
* -------------------------------------------------------------
* Type: modifier
* Name: highlight
* Version: 0.5
* Date: 2003-03-27
* Author: Pavel Prishivalko, aloner#telephone.ru
* Purpose: Highlight search term in text
* Install: Drop into the plugin directory
*
* Extended To 0.5 By: Alexey Kulikov
* Strips Tags for nice output, allows multiple term for highlight
* Modified and simplified to high light b2 searches by Donncha O Caoimh
* -------------------------------------------------------------
*/
function smarty_modifier_highlightsearch($text, $start_tag='<b style="color: #000; background-color: #ff0;">', $end_tag='</b>')
{
   global $s;
   if( $s != '' )
   {
     $term = $s;
     $term = preg_quote($term);

     return preg_replace('/('.$term.')/i', $start_tag.'$1'.$end_tag, $text);
   }
   else
   {
     return $text;
   }
}

?>