15
Май
2016

Фамилия Имя Отчество

Фамилия Имя Отчество в нижнем регистре с большой буквы.

При обработке каждого из полей в отдельности перед записью в базу важно помнить, что имена Бендер бей, отчества Алибек оглы или Али кызы, написанные через пробел, пишутся с маленькой буквы, а двойные имена Остап-Сулейман, фамилии Мамин-Сибиряк, и отчества Ибрагим-Берта-Мария пишутся с Большой буквы и должны быть указаны через дефис.

Для функционирования mb_ucname требуется пользовательская функция mb_ucfirst.

Функция mssql_escape тут до кучи, для корректной записи в SQL.


function mssql_escape($string) {
   if(get_magic_quotes_gpc()) {
       $string = stripslashes($string);
   }
   return str_replace("'", "''", trim($string));
}

function mb_ucfirst($string) {
   $string = mb_ereg_replace("^[\ ]+","", $string);
   $string = mb_strtoupper(mb_substr($string, 0, 1, "UTF-8"), "UTF-8")
   .mb_substr($string, 1, mb_strlen($string), "UTF-8" );
   return $string;
}

function mb_ucname($string) {
   $string = mb_ereg_replace("^[\ ]+","", $string);
   $i=0;
   foreach (explode('-', $string) as $stringNoHyphens) {
       if ($stringNoHyphens) {
           foreach (explode(' ', trim($stringNoHyphens)) 
		   as $stringNoHyphensNoSpaces) {
               if ($stringNoHyphensNoSpaces) {
                   $newStringNoHyphens[$i][]=self::mb_ucfirst
                   (mb_strtolower(trim($stringNoHyphensNoSpaces), 'UTF-8'));
               }
           }
           $newString[$i] = implode(' ', $newStringNoHyphens[$i]);
           $i++;
       }
   }
   $string = implode('-', $newString);
   return $string;
}

Добавить комментарий

www.000webhost.com