Он использует mb_strlen по умолчанию, если он доступен:
//below default min_length function of CI_Form_Validation lib as an example
/**
* Minimum Length
*
* @access public
* @param string
* @param value
* @return bool
*/
function min_length($str, $val)
{
if (preg_match("/[^0-9]/", $val))
{
return FALSE;
}
if (function_exists('mb_strlen'))
{
return (mb_strlen($str) < $val) ? FALSE : TRUE;
}
return (strlen($str) < $val) ? FALSE : TRUE;
}
Для функций preg_match используйте модификатор Юникод:
// native CI alpha function:
function alpha($str)
{
return ( ! preg_match("/^([a-z])+$/i", $str)) ? FALSE : TRUE;
}
// ready for unicode using u modifier in regex pattern
function alpha($str)
{
return ( ! preg_match("/^([a-z])+$/iu", $str)) ? FALSE : TRUE;
}