Don't like ads? PRO users don't see any ads ;-)
Guest

jloa | формат кода для Афонина

By: a guest on Aug 1st, 2012  |  syntax: PHP  |  size: 1.18 KB  |  hits: 11  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. // для Афонина :)
  2. /** @private алфамит для метода @see #formatCode() **/
  3. private $codealpha = array(
  4.         'А' => 'A', 'Б' => '6', 'В' => 'B', 'Г' => 'F', 'Е' => 'E',
  5.         'З' => '3', 'К' => 'K', 'М' => 'M', 'Н' => 'H', 'О' => '0', '5' => 'S', '1' => 'I',
  6.         'Р' => 'P', 'С' => 'C', 'Т' => 'T', 'У' => 'Y', 'Х' => 'X', 'Ц' => '4', 'Ч' => '4',
  7.         'Ш' => 'W', 'Щ' => 'W', 'Ь' => 'B', 'D' => '0', 'Q' => '0', 'O' => '0', 'U' => 'V');
  8.        
  9. /**
  10.  * Форматирует код, в соотсветсвии с правилами кодов регистрации
  11.  * @param string $code          код для форматирования
  12.  * @param string $charset       кодировка (для верхнего регистра) @default utf-8
  13.  * @return string                       отформатированный код
  14.  */
  15. public function formatCode($code, $charset = 'utf-8')
  16. {
  17.         // верхний регистр
  18.         $code = mb_strtoupper($code, $charset);
  19.         // заменяем все символы по словарю
  20.         $code = strtr($code, $this->codealpha);
  21.         // убираем все, что не буква, цифра
  22.         $code = preg_replace('/[^\d\w]/i', '', $code);
  23.        
  24.         return $code;
  25. }