potrebbe essere

Codice PHP:
<pre>
<?php
$str
="testa";
$context="il gruppo contesta, e io sono in testa!il popolo testardo chiede il testamento. ma mi fa male la TeSta";


$str=preg_quote($str);
preg_match_all('/([^a-z0-9]|^)('.$str.')([^a-z0-9]|$)/i',$context,$results);
print_r($results);

?>
per sapere quante volte quella parola è stata trovata nel testo, fai

Codice PHP:
$quante_volte=count($results[2]); 
a me funziona... poi magare qualche persona più brava di me trova sicuramente una regexp migliore