Actually similar_text() is not bad...
it works good. But before processing i think is a good way to make a little mod like this
$var_1 = strtoupper("doggy");
$var_2 = strtoupper("Dog");
similar_text($var_1, $var_2, $percent);
echo $percent; // output is 75 but without strtoupper output is 50