PDA

View Full Version : Problem with ctype_alnum and spanish characters


danf.1979
25th March 2006, 03:54
I have this on my source code, but it does not work:

setlocale(LC_ALL, 'es_CL.utf8');

// Do add result
$clean = array();
if (isset($_POST["name"]) && !empty($_POST["name"]) && ctype_alnum($_POST["name"]) && strlen($_POST["name"]) < 50) {
$mysql["name"] = clean_input($_POST["name"]);
}


And the locale is there:

dan@www:~$ locale -a | grep CL
es_CL.utf8


I want ctype_alnum to recognize characters like á,ó,ú, etc... is this possible? someone has done it?
Thanks.

danf.1979
9th April 2006, 10:44
This is an alternative solution:


// _ctype_alnum accepting spanish chars
function _ctype_alnum($string)
{
$convert = array(
"á"=>"a", "é"=>"e", "í"=>"i", "ó"=>"o", "ú"=>"u", "ñ"=>"n",
"Á"=>"A", "É"=>"E", "Í"=>"I", "Ó"=>"O", "Ú"=>"U", "Ñ"=>"N"
);
$string = strtr($string, $convert);
return ctype_alnum($string);
}