Also you should replace first ‘strtolower’ to ‘mb_strtolower’:
if (function_exists('mb_split'))
{
mb_regex_encoding(get_option('blog_charset'));
$wordlist = mb_split('\s*\W+\s*', mb_strtolower($source));
}
else
$wordlist = split('\s*\W+\s*', strtolower($source));