fork download
  1. <?php
  2. $numbers = array(
  3. 'М903СЕ197',
  4. 'А777МР97',
  5. 'Е555КХ99',
  6. 'К001РА95',
  7. 'Ошибка',
  8. 'О1234ОО799'
  9. );
  10. $cyril = array(
  11. 'А','В','Е','К','М','Н','О','Р','С','Т','У','Х'
  12. );
  13. $latin = array(
  14. 'A','B','E','K','M','H','O','P','C','T','Y','X'
  15. );
  16.  
  17. foreach ($numbers as $number) {
  18. echo 'Входной номер: ' . $number . ' ';
  19. $number = str_replace($cyril, $latin, $number);
  20. $pattern = '/([ABEKMHOPCTYX])([0-9]{3})([ABEKMHOPCTYX]{2})([17]{0,1}[0-9]{2})/i';
  21. preg_match($pattern, $number, $result);
  22. $result = str_replace($latin, $cyril, $result);
  23. echo 'Выходной массив: ';
  24. print_r($result);
  25. }
  26.  
Success #stdin #stdout 0.01s 20520KB
stdin
Standard input is empty
stdout
Входной номер: М903СЕ197 Выходной массив: Array
(
    [0] => М903СЕ197
    [1] => М
    [2] => 903
    [3] => СЕ
    [4] => 197
)
Входной номер: А777МР97 Выходной массив: Array
(
    [0] => А777МР97
    [1] => А
    [2] => 777
    [3] => МР
    [4] => 97
)
Входной номер: Е555КХ99 Выходной массив: Array
(
    [0] => Е555КХ99
    [1] => Е
    [2] => 555
    [3] => КХ
    [4] => 99
)
Входной номер: К001РА95 Выходной массив: Array
(
    [0] => К001РА95
    [1] => К
    [2] => 001
    [3] => РА
    [4] => 95
)
Входной номер: Ошибка Выходной массив: Array
(
)
Входной номер: О1234ОО799 Выходной массив: Array
(
)