In php 5 c'è la funzione str_ireplace.

Puoi comunque ovviare con una preg.

es
$stringa = "casa Casa cane CASA cAsA cavallo";
echo preg_replace("#(?i)casa#",'castello',$stringa);