
jloa | формат кода для Афонина
By: a guest on
Aug 1st, 2012 | syntax:
PHP | size: 1.18 KB | hits: 11 | expires: Never
// для Афонина :)
/** @private алфамит для метода @see #formatCode() **/
private $codealpha = array(
'А' => 'A', 'Б' => '6', 'В' => 'B', 'Г' => 'F', 'Е' => 'E',
'З' => '3', 'К' => 'K', 'М' => 'M', 'Н' => 'H', 'О' => '0', '5' => 'S', '1' => 'I',
'Р' => 'P', 'С' => 'C', 'Т' => 'T', 'У' => 'Y', 'Х' => 'X', 'Ц' => '4', 'Ч' => '4',
'Ш' => 'W', 'Щ' => 'W', 'Ь' => 'B', 'D' => '0', 'Q' => '0', 'O' => '0', 'U' => 'V');
/**
* Форматирует код, в соотсветсвии с правилами кодов регистрации
* @param string $code код для форматирования
* @param string $charset кодировка (для верхнего регистра) @default utf-8
* @return string отформатированный код
*/
public function formatCode($code, $charset = 'utf-8')
{
// верхний регистр
$code = mb_strtoupper($code, $charset);
// заменяем все символы по словарю
$code = strtr($code, $this->codealpha);
// убираем все, что не буква, цифра
$code = preg_replace('/[^\d\w]/i', '', $code);
return $code;
}