Tuesday, 13 August 2013

PHP string validation function encoding fails

PHP string validation function encoding fails

The string "Árvíztûrõ tükörfúrógép" seems to be invalid. Why?
if(isValid("Árvíztûrõ tükörfúrógép",true,true))echo "VALID";else echo
"INVALID";
function isValid($s,$abc=false,$accent=false,$numbers=false,$etc=""){
$valid="";
if($abc)$valid="abcdefghijklmnopqrstzuvwxyz";
if($accent)$valid.="áíûõüöúóé";
if($numbers)$valid.="0123456789";
$valid.=$etc;
for($i=0;$i<mb_strlen($s);$i++){
$k=false;
for($j=0;$j<mb_strlen($valid);$j++){
if(strtolower(mb_substr($s,$i,1))==mb_substr($valid,$j,1))
$k=true;
}
if(!$k)return false;
}
return true;
}

No comments:

Post a Comment