Ho inserito il tuo script... Mi chiedevo, non è che magari contano gli spazi alla fine dell'output user_agent? Il browser, quando faccio una query per scriverli e vado a selezionarli (come ho fatto quando ho copiato e inserito i 3 contenuti dell'array $spider_user_agent[]), mi dà uno spazio (%20 per intenderci) alla fine dell'output, che come potete notare ho lasciato anche nell'inserimento nell'array (vedi sotto)
$ctr=0;
$spider_search_engine_ctr=0;
$sys = $HTTP_USER_AGENT;
$spider_search_engine_n=3;
$spider_user_agent[1]="Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp) "; ( Ecco, lo spazio tra 'slurp)' e '";' )
$spider_user_agent[2]="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) ";
$spider_user_agent[3]="msnbot/1.0 (+http://search.msn.com/msnbot.htm) ";
for ($i = 1; $i <= $spider_search_engine_n; $i++)
{
if (preg_match($spider_user_agent[$i], $sys)) {$spider_search_engine_ctr=1;}