I found this somewhere and added to it (as it was not able to recognise Konqueror or separate Netscape <6 from Netscape 6 prevoiusly) so try this, it filters for most.... any additions welcome to my email address if you please.
Dave
$track['UA'] = getenv(HTTP_USER_AGENT);
$track['NAME'] = "Unknown";
$track['VERSION'] = "Unknown";
$track['PLATFORM'] = "Unknown";
$track['OS'] = "Unknown";
$track['IP'] = getenv('REMOTE_ADDR');
if ( eregi( 'MSIE ([0-9].[0-9a-zA-Z]{1,4})',$track['UA'],$info) ||
eregi( 'Microsoft Internet Explorer ([0-9].[0-9a-zA-Z]{1,4})',$track['UA'],$info) )
{ $track['VERSION'] = $info[1];
$track['NAME'] = 'IE';
}
elseif ( eregi( 'Opera ([0-9].[0-9a-zA-Z]{1,4})',$track['UA'],$info) ||
eregi( 'Opera/([0-9].[0-9a-zA-Z]{1,4})',$track['UA'],$info) )
{ $track['VERSION'] = $info[1];
$track['NAME'] = 'Opera';
}
elseif ( eregi( 'iCab ([0-9].[0-9a-zA-Z]{1,4})',$track['UA'],$info) ||
eregi( 'iCab/([0-9].[0-9a-zA-Z]{1,4})',$track['UA'],$info) )
{ $track['VERSION'] = $info[1];
$track['NAME'] = 'iCab';
}
elseif ( eregi( '(Lynx)\/([0-9]*\.[0-9]*)\.(.*) (.*)',$track['UA'],$info) )
{ $track['VERSION'] = $info[2];
$track['NAME'] = 'Lynx';
}
elseif ( eregi( 'Powermarks',$track['UA']) )
{ $track['VERSION'] = 'Unknown';
$track['NAME'] = 'Powermarks bookmark thing';
}
elseif ( eregi( 'FDSE',$track['UA']) )
{ $track['VERSION'] = 'Unknown';
$track['NAME'] = 'FDSE robot';
}
elseif ( eregi( 'NetMind-Minder',$track['UA']) )
{ $track['VERSION'] = 'Unknown';
$track['NAME'] = 'NetMind-Minder';
}
elseif ( eregi( 'BorderManager',$track['UA']) )
{ $track['VERSION'] = 'Unknown';
$track['NAME'] = 'BorderManager';
}
elseif ( eregi( 'WebExplorer',$track['UA']) )
{ $track['VERSION'] = 'Unknown';
$track['NAME'] = 'IBM WebExplorer';
}
elseif ( eregi( 'QuarterDeck',$track['UA']) )
{ $track['VERSION'] = 'Unknown';
$track['NAME'] = 'QuarterDeck Mosaic';
}
elseif ( eregi( 'SPRY',$track['UA']) )
{ $track['VERSION'] = 'Unknown';
$track['NAME'] = "Compuserve\'s SPRY Mosaic";
}
elseif ( eregi( 'Mosaic',$track['UA']) )
{ $track['VERSION'] = 'Unknown';
$track['NAME'] = 'NCSA Mosaic';
}
elseif ( eregi( 'Enhanced_Mosaic',$track['UA']) )
{ $track['VERSION'] = 'Unknown';
$track['NAME'] = 'NCSA Mosaic (Enhanced)';
}
elseif ( eregi( 'PRODIGY',$track['UA']) )
{ $track['VERSION'] = 'Unknown';
$track['NAME'] = "Prodigy\'s Browser";
}
elseif ( eregi( 'AOL',$track['UA'],$info) )
{ $track['VERSION'] = 'Unknown';
$track['NAME'] = 'AOL';
}
elseif ( eregi( 'Konqueror/([0-9].[0-9a-zA-Z]{1,4})',$track['UA'],$info) )
{ $track['VERSION'] = $info[1];
$track['NAME'] = 'KDE2 Konqueror';
}
elseif ( eregi( 'Netscape6/([0-9].[0-9a-zA-Z]{1,4})',$track['UA'],$info) )
{ $track['VERSION'] = $info[1];
$track['NAME'] = 'Netscape';
}
elseif ( eregi( 'Mozilla/([0-9].[0-9a-zA-Z]{1,4})',$track['UA'],$info) )
{ $track['VERSION'] = $info[1];
$track['NAME'] = 'Netscape';
}
elseif ( eregi( 'Mozilla/([0-9].[0-9a-zA-Z]{1,4})',$track['UA'],$info) &&
eregi( 'Gecko',$track['UA']))
{ $track['VERSION'] = $info[1];
$track['NAME'] = 'Netscape 6+';
}
else
{ $track['VERSION'] = 0;
$track['NAME'] = 'Unknown';
}