'podlaskie', 'BAU' => 'Augustów', 'BBI' => 'Bielsk Podlaski', 'BGR' => 'Grajewo', 'BHA' => 'Hajnówka', 'BI' => 'Białystok miasto', 'BIA' => 'Białystok powiat', 'BKL' => 'Kolno', 'BL' => 'Łomża miasto', 'BLM' => 'Łomża powiat', 'BMN' => 'Mońki', 'BS' => 'Suwałki miasto', 'BSE' => 'Sejny', 'BSI' => 'Siemiatycze', 'BSK' => 'Sokółka', 'BSU' => 'Suwałki powiat', 'BWM' => 'Wysokie Mazowieckie', 'BZA' => 'Zambrów', 'C' => 'kujawsko-pomorskie', 'CAL' => 'Aleksandrów Kujawski', 'CB' => 'Bydgoszcz miasto', 'CBR' => 'Brodnica', 'CBY' => 'Bydgoszcz powiat', 'CCH' => 'Chełmno', 'CG' => 'Grudziądz miasto', 'CGD' => 'Golub-Dobrzyń', 'CGR' => 'Grudziądz powiat', 'CIN' => 'Inowrocław', 'CLI' => 'Lipno', 'CMG' => 'Mogilno', 'CNA' => 'Nakło nad Notecią', 'CRA' => 'Radziejów', 'CRY' => 'Rypin', 'CSE' => 'Sępólno Krajeńskie', 'CSW' => 'Świecie', 'CT' => 'Toruń miasto', 'CTR' => 'Toruń powiat', 'CTU' => 'Tuchola', 'CW' => 'Włocławek miasto', 'CWA' => 'Wąbrzeźno', 'CWL' => 'Włocławek powiat', 'CZN' => 'Żnin', 'D' => 'dolnośląskie', 'DB' => 'Wałbrzych miasto', 'DBA' => 'Wałbrzych powiat', 'DBL' => 'Bolesławiec', 'DDZ' => 'Dzierżoniów', 'DGL' => 'Głogów', 'DGR' => 'Góra', 'DJ' => 'Jelenia Góra miasto', 'DJA' => 'Jawor', 'DJE' => 'Jelenia Góra powiat', 'DKA' => 'Kamienna Góra', 'DKL' => 'Kłodzko', 'DL' => 'Legnica miasto', 'DLB' => 'Lubań', 'DLE' => 'Legnica powiat', 'DLU' => 'Lubin', 'DLW' => 'Lwówek', 'DMI' => 'Milicz', 'DOA' => 'Oława', 'DOL' => 'Oleśnica', 'DPL' => 'Polkowice', 'DSR' => 'Środa Śląska', 'DST' => 'Strzelin', 'DSW' => 'Świdnica', 'DTR' => 'Trzebnica', 'DW' => 'Wrocław miasto', 'DWL' => 'Wołów', 'DWR' => 'Wrocław powiat', 'DZA' => 'Ząbkowice', 'DZG' => 'Zgorzelec', 'DZL' => 'Złotoryja', 'E' => 'łódzkie', 'EBE' => 'Bełchatów', 'EBR' => 'Brzeziny', 'EKU' => 'Kutno', 'EL' => 'Łódź miasto', 'ELA' => 'Łask', 'ELC' => 'Łowicz', 'ELE' => 'Łęczyca', 'ELW' => 'Łódź Wschodni', 'EOP' => 'Opoczno', 'EP' => 'Piotrków Trybunalski miasto', 'EPA' => 'Pabianice', 'EPD' => 'Poddębice', 'EPI' => 'Piotrków Trybunalski powiat', 'EPJ' => 'Pajęczno', 'ERA' => 'Radomsko', 'ERW' => 'Rawa Mazowiecka', 'ES' => 'Skierniewice powiat', 'ESI' => 'Sieradz', 'ESK' => 'Skierniewice powiat', 'ETM' => 'Tomaszów Mazowiecki', 'EWE' => 'Wieruszów', 'EWI' => 'Wieluń', 'EZD' => 'Zduńska Wola', 'EZG' => 'Zgierz', 'F' => 'lubuskie', 'FG' => 'Gorzów Wielkopolski miasto', 'FGW' => 'Gorzów Wielkopolski powiat', 'FKR' => 'Krosno Odrzańskie', 'FMI' => 'Międzyrzecz', 'FNW' => 'Nowa Sól', 'FSD' => 'Strzelce Krajeńskie', 'FSL' => 'Słubice', 'FSU' => 'Sulęcin', 'FSW' => 'Świebodzin', 'FWS' => 'Wschowa', 'FZ' => 'Zielona Góra miasto', 'FZA' => 'Żary', 'FZG' => 'Żagań', 'FZI' => 'Zielona Góra powiat', 'G' => 'pomorskie', 'GA' => 'Gdynia', 'GBY' => 'Bytów', 'GCH' => 'Chojnice', 'GCZ' => 'Człuchów', 'GD' => 'Gdańsk miasto', 'GDA' => 'Pruszcz Gdański', 'GKA' => 'Kartuzy', 'GKS' => 'Kościerzyna', 'GKW' => 'Kwidzyn', 'GLE' => 'Lębork', 'GMB' => 'Malbork', 'GND' => 'Nowy Dwór Gdański', 'GPU' => 'Puck', 'GS' => 'Słupsk miasto', 'GSL' => 'Słupsk powiat', 'GSP' => 'Sopot', 'GST' => 'Starogard Gdański', 'GSZ' => 'Sztum', 'GTC' => 'Tczew', 'GWE' => 'Wejherowo', 'HA' => 'Centralne Biuro Antykorupcyjne', 'HB' => 'Biuro Ochrony Rządu', 'HC' => 'Służba Celna', 'HK' => 'Agencja Bezpieczeństwa Wewnętrznego/Agencja Wywiadu', 'HM' => 'Służba Kontrwywiadu Wojskowego/Służba Wywiadu Wojskowego', 'HN' => 'GROM', 'HPA' => 'Komenda Główna Policji', 'HPB' => 'Policja, woj. dolnośląskie', 'HPC' => 'Policja, woj. kujawsko-pomorskie', 'HPD' => 'Policja, woj. lubelskie', 'HPE' => 'Policja, woj. lubuskie', 'HPF' => 'Policja, woj. łódzkie', 'HPG' => 'Policja, woj. małopolskie', 'HPH' => 'Policja, woj. mazowieckie', 'HPJ' => 'Policja, woj. opolskie', 'HPK' => 'Policja, woj. podkarpackie', 'HPL' => 'Jednostki szkoleniowe Policji', 'HPM' => 'Policja, woj. podlaskie', 'HPN' => 'Policja, woj. pomorskie', 'HPP' => 'Policja, woj. śląskie', 'HPS' => 'Policja, woj. świętokrzyskie', 'HPT' => 'Policja, woj. warmińsko-mazurskie', 'HPU' => 'Policja, woj. wielkopolskie', 'HPW' => 'Policja, woj. zachodniopomorskie', 'HPZ' => 'Komenda Główna Policji', 'HS' => 'Kontrola Skarbowa', 'HW' => 'Straż Graniczna', 'K' => 'małopolskie', 'KBC' => 'Bochnia', 'KBR' => 'Brzesko', 'KCH' => 'Chrzanów', 'KDA' => 'Dąbrowa Tarnowska', 'KGR' => 'Gorlice', 'KLI' => 'Limanowa', 'KMI' => 'Miechów', 'KMY' => 'Myślenice', 'KN' => 'Nowy Sącz miasto', 'KNS' => 'Nowy Sącz powiat', 'KNT' => 'Nowy Targ', 'KOL' => 'Olkusz', 'KOS' => 'Oświęcim', 'KPR' => 'Proszowice', 'KR' => 'Kraków miasto', 'KRA' => 'Kraków powiat', 'KSU' => 'Sucha Beskidzka', 'KT' => 'Tarnów miasto', 'KTA' => 'Tarnów powiat', 'KTT' => 'Zakopane', 'KWA' => 'Wadowice', 'KWI' => 'Wieliczka', 'L' => 'lubelskie', 'LB' => 'Biała Podlaska miasto', 'LBI' => 'Biała Podlaska powiat', 'LBL' => 'Biłgoraj', 'LC' => 'Chełm miasto', 'LCH' => 'Chełm powiat', 'LHR' => 'Hrubieszów', 'LJA' => 'Janów Lubelski', 'LKR' => 'Kraśnik', 'LKS' => 'Krasnystaw', 'LLB' => 'Lubartów', 'LLE' => 'Łęczna', 'LLU' => 'Łuków', 'LOP' => 'Opole Lubelskie', 'LPA' => 'Parczew', 'LPU' => 'Puławy', 'LRA' => 'Radzyń Podlaski', 'LRY' => 'Ryki', 'LSW' => 'Świdnik', 'LTM' => 'Tomaszów Lubelski', 'LU' => 'Lublin miasto', 'LUB' => 'Lublin powiat', 'LWL' => 'Włodawa', 'LZ' => 'Zamość miasto', 'LZA' => 'Zamość powiat', 'N' => 'warmińsko-mazurskie', 'NBA' => 'Bartoszyce', 'NBR' => 'Braniewo', 'NDZ' => 'Działdowo', 'NE' => 'Elbląg miasto', 'NEB' => 'Elbląg powiat', 'NEL' => 'Ełk', 'NGI' => 'Giżycko', 'NGO' => 'Gołdap', 'NIL' => 'Iława', 'NKE' => 'Kętrzyn', 'NLI' => 'Lidzbark Warmiński', 'NMR' => 'Mrągowo', 'NNI' => 'Nidzica', 'NNM' => 'Nowe Miasto Lubawskie', 'NO' => 'Olsztyn miasto', 'NOE' => 'Olecko-Gołdap', 'NOG' => 'Olecko', 'NOL' => 'Olsztyn powiat', 'NOS' => 'Ostróda', 'NPI' => 'Pisz', 'NSZ' => 'Szczytno', 'NWE' => 'Węgorzewo', 'O' => 'opolskie', 'OB' => 'Brzeg', 'OGL' => 'Głubczyce', 'OK' => 'Kędzierzyn Koźle', 'OKL' => 'Kluczbork', 'OKR' => 'Krapkowice', 'ONA' => 'Namysłów', 'ONY' => 'Nysa', 'OOL' => 'Olesno', 'OP' => 'Opole miasto', 'OPO' => 'Opole powiat', 'OPR' => 'Prudnik', 'OST' => 'Strzelce Opolskie', 'P' => 'wielkopolskie', 'PCH' => 'Chodzież', 'PCT' => 'Czarnków', 'PGN' => 'Gniezno', 'PGO' => 'Grodzisk Wielkopolski', 'PGS' => 'Gostyń', 'PJA' => 'Jarocin', 'PK' => 'Kalisz miasto', 'PKA' => 'Kalisz powiat', 'PKE' => 'Kępno', 'PKL' => 'Koło', 'PKO' => 'Konin miasto', 'PKR' => 'Krotoszyn', 'PKS' => 'Kościan', 'PL' => 'Leszno miasto', 'PLE' => 'Leszno powiat', 'PLN' => 'Konin powiat', 'PMI' => 'Międzychód', 'PN' => 'Konin miasto', 'PNT' => 'Nowy Tomyśl', 'PO' => 'Poznań miasto', 'POB' => 'Oborniki', 'POS' => 'Ostrów Wielkopolski', 'POT' => 'Ostrzeszów', 'POZ' => 'Poznań powiat', 'PP' => 'Piła', 'PPL' => 'Pleszew', 'PRA' => 'Rawicz', 'PSE' => 'Śrem', 'PSL' => 'Słupca', 'PSR' => 'Środa Wielkopolska', 'PSZ' => 'Szamotuły', 'PTU' => 'Turek', 'PWA' => 'Wągrowiec', 'PWL' => 'Wolsztyn', 'PWR' => 'Września', 'PZ' => 'Poznań powiat', 'PZL' => 'Złotów', 'R' => 'podkarpackie', 'RBI' => 'Ustrzyki Dolne', 'RBR' => 'Brzozów', 'RDE' => 'Dębica', 'RJA' => 'Jarosław', 'RJS' => 'Jasło', 'RK' => 'Krosno miasto', 'RKL' => 'Kolbuszowa', 'RKR' => 'Krosno powiat', 'RLA' => 'Łańcut', 'RLE' => 'Leżajsk', 'RLS' => 'Lesko', 'RLU' => 'Lubaczów', 'RMI' => 'Mielec', 'RNI' => 'Nisko', 'RP' => 'Przemyśl miasto', 'RPR' => 'Przemyśl powiat', 'RPZ' => 'Przeworsk', 'RRS' => 'Ropczyce', 'RSA' => 'Sanok', 'RSR' => 'Strzyżów', 'RST' => 'Stalowa Wola', 'RT' => 'Tarnobrzeg miasto', 'RTA' => 'Tarnobrzeg powiat', 'RZ' => 'Rzeszów miasto', 'RZE' => 'Rzeszów powiat', 'S' => 'śląskie', 'SB' => 'Bielsko-Biała miasto', 'SBE' => 'Będzin', 'SBI' => 'Bielsko-Biała powiat', 'SBL' => 'Tychy powiat', 'SC' => 'Częstochowa miasto', 'SCI' => 'Cieszyn', 'SCZ' => 'Częstochowa powiat', 'SD' => 'Dąbrowa Górnicza', 'SG' => 'Gliwice miasto', 'SGL' => 'Gliwice powiat', 'SH' => 'Chorzów', 'SI' => 'Siemianowice Śląskie', 'SJ' => 'Jaworzno', 'SJZ' => 'Jastrzębie Zdrój', 'SK' => 'Katowice', 'SKL' => 'Kłobuck', 'SL' => 'Ruda Śląska', 'SLU' => 'Lubliniec', 'SM' => 'Mysłowice', 'SMI' => 'Mikołów', 'SMY' => 'Myszków', 'SO' => 'Sosnowiec', 'SPI' => 'Piekary Śląskie', 'SPS' => 'Pszczyna', 'SR' => 'Rybnik miasto', 'SRB' => 'Rybnik powiat', 'SRC' => 'Racibórz', 'SRS' => 'Ruda Śląska', 'ST' => 'Tychy miasto', 'STA' => 'Tarnowskie Góry', 'STY' => 'Tychy powiat', 'SW' => 'Świętochłowice', 'SWD' => 'Wodzisław', 'SY' => 'Bytom', 'SZ' => 'Zabrze', 'SZA' => 'Zawiercie', 'SZO' => 'Żory', 'SZY' => 'Żywiec', 'T' => 'świętokrzyskie', 'TBU' => 'Busko', 'TJE' => 'Jędrzejów', 'TK' => 'Kielce miasto', 'TKA' => 'Kazimierza Wielka', 'TKI' => 'Kielce powiat', 'TKN' => 'Końskie', 'TLW' => 'Włoszczowa', 'TOP' => 'Opatów', 'TOS' => 'Ostrowiec Świętokrzyski', 'TPI' => 'Pińczów', 'TSA' => 'Sandomierz', 'TSK' => 'Skarżysko-Kamienna', 'TST' => 'Starachowice', 'TSZ' => 'Staszów', 'UA' => 'Siły Zbrojne: samochody osobowe, osobowo-terenowe oraz specjalne na podwoziu osobowym (osobowo-terenowym)', 'UB' => 'Siły Zbrojne: transportery opancerzone', 'UC' => 'Siły Zbrojne: samochody osobowo-ciężarowe (dostawcze)', 'UD' => 'Siły Zbrojne: autobusy', 'UE' => 'Siły Zbrojne: samochody ciężarowe i ciężarowo-terenowe o przeznaczeniu transportowym', 'UG' => 'Siły Zbrojne: pojazdy specjalne na podwoziu ciężarowym (ciężarowo-terenowym)', 'UI' => 'Siły Zbrojne: przyczepy transportowe', 'UJ' => 'Siły Zbrojne: przyczepy specjalne', 'UK' => 'Siły Zbrojne: motocykle', 'W' => 'mazowieckie', 'WA' => 'Warszawa-Białołęka', 'WB' => 'Warszawa-Bemowo', 'WBR' => 'Białobrzegi', 'WCI' => 'Ciechanów', 'WD' => 'Warszawa-Bielany', 'WE' => 'Warszawa-Mokotów', 'WF' => 'Warszawa-Praga Południe', 'WG' => 'Garwolin', 'WGM' => 'Grodzisk Mazowiecki', 'WGR' => 'Grójec', 'WGS' => 'Gostynin', 'WH' => 'Warszawa-Praga Północ', 'WI' => 'Warszawa-Śródmieście', 'WJ' => 'Warszawa-Targówek', 'WK' => 'Warszawa-Ursus', 'WKZ' => 'Kozienice', 'WL' => 'Legionowo', 'WLI' => 'Lipsko', 'WLS' => 'Łosice', 'WM' => 'Mińsk Mazowiecki', 'WMA' => 'Maków Mazowiecki', 'WML' => 'Mława', 'WN' => 'Warszawa-Ursynów', 'WND' => 'Nowy Dwór Mazowiecki', 'WO' => 'Ostrołęka miasto', 'WOR' => 'Ostrów Mazowiecki', 'WOS' => 'Ostrołęka powiat', 'WOT' => 'Otwock', 'WP' => 'Płock miasto', 'WPI' => 'Piaseczno', 'WPL' => 'Płock powiat', 'WPN' => 'Płońsk', 'WPR' => 'Pruszków', 'WPU' => 'Pułtusk', 'WPY' => 'Przysucha', 'WPZ' => 'Przasnysz', 'WR' => 'Radom miasto', 'WRA' => 'Radom powiat', 'WS' => 'Siedlce miasto', 'WSC' => 'Sochaczew', 'WSE' => 'Sierpc', 'WSI' => 'Siedlce powiat', 'WSK' => 'Sokołów Podlaski', 'WSZ' => 'Szydłowiec', 'WT' => 'Warszawa-Wawer', 'WU' => 'Warszawa-Ochota', 'WW' => array( 'Warszawa', 'A' => 'Warszawa-Rembertów', 'C' => 'Warszawa-Rembertów', 'E' => 'Warszawa-Rembertów', 'F' => 'Warszawa-Wilanów', 'G' => 'Warszawa-Wilanów', 'H' => 'Warszawa-Wilanów', 'J' => 'Warszawa-Wilanów', 'K' => 'Warszawa-Włochy', 'L' => 'Warszawa-Włochy', 'M' => 'Warszawa-Włochy', 'N' => 'Warszawa-Włochy', 'V' => 'Warszawa-Włochy', 'X' => 'Warszawa-Rembertów', 'Y' => 'Urząd Miasta stołecznego Warszawy', 'W' => 'Warszawa-Wilanów', 'YV' => 'Warszawa-Wesoła', 'YY' => 'Warszawa-Sulejówek', 'YZ' => 'Warszawa-Wesoła', ), 'WWE' => 'Węgrów', 'WWL' => 'Wołomin', 'WWY' => 'Wyszków', 'WX' => 'Warszawa-Żoliborz', 'WY' => 'Warszawa-Wola', 'WZ' => 'Warszawa-Zachód', 'WZU' => 'Żuromin', 'WZW' => 'Zwoleń', 'WZY' => 'Żyrardów', 'Z' => 'zachodniopomorskie', 'ZBI' => 'Białogard', 'ZCH' => 'Choszczno', 'ZDR' => 'Drawsko', 'ZGL' => 'Goleniów', 'ZGR' => 'Gryfino', 'ZGY' => 'Gryfice', 'ZK' => 'Koszalin miasto', 'ZKA' => 'Kamień Pomorski', 'ZKL' => 'Kołobrzeg', 'ZKO' => 'Koszalin powiat', 'ZLO' => 'Łobez', 'ZMY' => 'Myślibórz', 'ZPL' => 'Police', 'ZPY' => 'Pyrzyce', 'ZS' => 'Szczecin', 'ZSD' => 'Świdwin', 'ZSL' => 'Sławno', 'ZST' => 'Stargard Szczeciński', 'ZSW' => 'Świnoujście', 'ZSZ' => 'Szczecinek', 'ZWA' => 'Wałcz', ); static $dyplomatyczne = array( '001' => 'USA', '002' => 'Wielka Brytania', '003' => 'Francja', '004' => 'Kanada', '005' => 'Niemcy', '006' => 'Holandia', '007' => 'Włochy', '008' => 'Austria', '009' => 'Japonia', '010' => 'Turcja', '011' => 'Belgia', '012' => 'Dania', '013' => 'Norwegia', '014' => 'Grecja', '015' => 'Australia', '016' => 'Algieria', '017' => 'Afganistan', '018' => 'Argentyna', '019' => 'Brazylia', '020' => 'Bangladesz', '021' => 'Egipt', '022' => 'Ekwador', '023' => 'Finlandia', '024' => 'Hiszpania', '025' => 'Irak', '026' => 'Iran', '027' => 'Indie', '028' => 'Indonezja', '029' => 'Kolumbia', '030' => 'Malezja', '031' => 'Libia', '032' => 'Maroko', '033' => 'Meksyk', '034' => 'Nigeria', '035' => 'Pakistan', '036' => 'Portugalia', '037' => 'Palestyna', '038' => 'Syria', '039' => 'Szwecja', '040' => 'Szwajcaria', '041' => 'Tunezja', '042' => 'Tajlandia', '043' => 'Wenezuela', '044' => 'Urugwaj', '045' => 'Peru', '046' => 'Jemen', '047' => 'Kostaryka', '048' => 'Kongo', '049' => 'Izrael', '050' => 'Nikaragua', '051' => 'Chile', '052' => 'Watykan', '053' => 'Korea Południowa', '054' => 'Przedstawicielstwo Komisji Wspólnot Europejskich', '055' => 'Irlandia', '056' => 'Bank Światowy', '057' => 'Międzynarodowy Fundusz Walutowy', '058' => 'Filipiny', '059' => 'Międzynarodowa Korporacja Finansowa', '060' => 'RPA', '061' => 'Biuro Instytucji Demokratycznych i Praw Człowieka OBWE', '062' => 'Cypr', '063' => 'Kuwejt', '064' => 'Organizacja Narodów Zjednoczonych', '065' => 'Rosja', '066' => 'Słowacja', '067' => 'Czechy', '068' => 'Bułgaria', '069' => 'Węgry', '070' => 'Rumunia', '071' => 'Wietnam', '072' => 'Serbia', '073' => 'Korea Północna', '074' => 'Kuba', '075' => 'Albania', '076' => 'Chiny', '077' => 'Mongolia', '078' => 'Międzynarodowa Organizacja Pracy', '079' => 'Organizacja Kooperacyjna ds. Kolei', '080' => 'Klub Dyplomatyczny', '081' => 'Laos', '082' => 'Angola', '083' => 'Ukraina', '084' => 'Europejski Bank Odbudowy i Rozwoju', '085' => 'Litwa', '086' => 'Białoruś', '087' => 'Łotwa', '088' => 'Chorwacja', '089' => 'Liban', '090' => 'Słowenia', '091' => 'Gwatemala', '092' => 'Estonia', '093' => 'Macedonia', '094' => 'Mołdawia', '095' => 'Izrael', '096' => 'Armenia', '097' => 'Sri Lanka', '098' => 'Kazachstan', '099' => 'Arabia Saudyjska', '100' => 'Gruzja', '101' => 'Uzbekistan', '102' => 'UN-HABITAT', '103' => 'Nowa Zelandia', '104' => 'Azerbejdżan', '105' => 'Suwerenny Wojskowy Zakon Maltański', '106' => 'Kambodża', '107' => 'Frontex', '108' => 'Luksemburg', '109' => 'Bośnia i Hercegowina', '110' => 'Panama', '111' => 'Katar', '112' => 'Malta', ); static$dyplomatyczne_przeznaczenie = array( '{001-099}' => 'Prywatne pojazdy personelu dyplomatycznego', '{200-299}' => 'Prywatne pojazdy attaché wojskowego', '{300-399}' => 'Prywatne pojazdy personelu niedyplomatycznego', '{501-501}' => 'Pojazd służbowy ambasadora', '{500-599}' => 'Służbowe pojazdy ambasady', '{700-799}' => 'Służbowe pojazdy ambasady', '{900-999}' => 'Pojazdy personelu konsularnego', ); static $formaty = array( 'U[!OU]{00001-99999}' => 'specjalne', 'U[!OU]{0001-9999}T' => 'specjalne', 'H[ABKPW][!Q]{001-999}' => 'specjalne', 'H[ABKPW][!Q]{01-99}[!Q][!Q]' => 'specjalne', // Samochodowe wyróżnik trzyliterowy => '', zasoby 1-9 '___ _{001-999}' => 'zwykłe', '___ {01-99}__' => 'zwykłe', '___ {1-9}_{01-99}' => 'zwykłe', '___ {00-99}_{1-9}' => 'zwykłe', '___ {1-9}__{1-9}' => 'zwykłe', '___ __{01-99}' => 'zwykłe', '___ {00001-99999}' => 'zwykłe', '___ {0001-9999}_' => 'zwykłe', '___ {001-999}__' => 'zwykłe', '___' => 'wyróżnik', // Samochodowe wyróżnik dwuliterowy => '', zasoby 1-5 '__ {00001-99999}' => 'zwykłe', '__ {0001-9999}_' => 'zwykłe', '__ {001-999}__' => 'zwykłe', '__ {0-9}_{001-999}' => 'zwykłe', '__ {0-9}__{01-99}' => 'zwykłe', // Motocyklowe wyróżnik dwuliterowy => '', zasoby 1-2 '__ {0001-9999}' => 'motocyklowe', '__ {001-999}_' => 'motocyklowe', '__' => 'wyróżnik', // Tablice zabytkowe '__ {01-99}_' => 'zabytkowe', '___ {0-9}_' => 'zabytkowe', // Tablice dyplomatyczne 'W {001000-112999}' => 'dyplomatyczne', // Tablice badawcze '_ {0-9}{001-999}B' => 'badawcze', // Tablice tymczasowe '_ {0-9}{0001-9999}' => 'tymczasowe', '_ {0-9}{001-999}[!B]' => 'tymczasowe', // Tablice indywidualne '_ {0-9}___' => 'indywidualne', '_ {0-9}__{0-9}' => 'indywidualne', '_ {0-9}_{00-99}' => 'indywidualne', '_ {0-9}____' => 'indywidualne', '_ {0-9}___{0-9}' => 'indywidualne', '_ {0-9}__{00-99}' => 'indywidualne', '_ {0-9}_____' => 'indywidualne', '_ {0-9}____{0-9}' => 'indywidualne', '_ {0-9}___{00-99}' => 'indywidualne', '_' => 'wyróżnik', ); static function regex($format, $tekst) { //echo "\n\n".'NEW REGEX('.$format.', '.$tekst.')'."\n"; $olen = strpos($format, ' '); if($olen && !ctype_alpha(substr($tekst, 0, $olen))) return FALSE; $j = 0; for($i=0; $i substr($range, $len+1)) { return FALSE; } $i+=strlen($range)+1; $j+=$len-1; } elseif(ctype_alpha($chr)) { //echo "\t".'letter: '.$chr."\n"; if($part!=$chr) { return FALSE; } } elseif($chr == ' ') { continue; } else { throw new Exception('Unknown character ('.$i.') '.$chr); } $j++; } if($i != strlen($format) || $j != strlen($tekst)) { return FALSE; } if(!$olen) $olen = 0; return $olen; } static function find($rej) { $rej = strtoupper(str_replace(array(' ', "\t", "\n", "\r", '-'), '', $rej)); foreach(self::$formaty as $format => $typ) { if(($olen=self::regex($format, $rej))!==FALSE) { $return = TRUE; break; } } if(!$return) return array($rej, 'błąd', 'Błędny format numeru rejestracyjnego'); if($olen) { $rej = substr($rej, 0, $olen).' '.substr($rej, $olen); } //var_dump($format, $typ, $rej); if($typ == 'dyplomatyczne') { $first = substr($rej, 2, 3); $second = substr($rej, 5, 3); if(!isset(self::$dyplomatyczne[$first])) { return array($rej, 'dyplomatyczna', 'Nieznane państwo/organizacja'); } $return = FALSE; foreach(self::$dyplomatyczne_przeznaczenie as $format => $dyp) { if(self::regex($format, $second) !== FALSE) { $return = TRUE; break; } } if($return == FALSE) { return array($rej, 'dyplomatyczna', 'Państwo/organizacja: '.self::$dyplomatyczne[$first]); } else { return array($rej, 'dyplomatyczna', 'Państwo/organizacja: '.self::$dyplomatyczne[$first], $dyp); } } elseif($typ == 'indywidualne') { if(!isset(self::$wyrozniki[substr($rej, 0, 1)])) { return array($rej, 'błąd', 'Błędny format numeru rejestracyjnego'); } $rej = substr($rej, 0, 1).substr($rej, 2, 1).' '.substr($rej, 3); return array($rej, 'indywidualna', 'Województwo: '.self::$wyrozniki[substr($rej, 0, 1)]); } elseif($typ == 'specjalne') { if(substr($rej, 0, 2) == 'HP') { if(!isset(self::$wyrozniki[substr($rej, 0, 3)])) { return array($rej, 'błąd', 'Błędny format numeru rejestracyjnego'); } return array($rej, 'specjalne', self::$wyrozniki[substr($rej, 0, 3)]); } else { if(!isset(self::$wyrozniki[substr($rej, 0, 2)])) { return array($rej, 'błąd', 'Błędny format numeru rejestracyjnego'); } return array($rej, 'specjalne', self::$wyrozniki[substr($rej, 0, 2)]); } } elseif($typ == 'wyróżnik') { if(!isset(self::$wyrozniki[$rej])) { return array($rej, 'błąd', 'Podany wyróżnik nie istnieje'); } else { if(strlen($rej)>1 && isset(self::$wyrozniki[substr($rej, 0, 1)])) { return array($rej, 'wyróżnik', 'Województwo '.self::$wyrozniki[substr($rej, 0, 1)], self::$wyrozniki[$rej]); } else { return array($rej, 'wyróżnik', self::$wyrozniki[$rej]); } } } else { if(!isset(self::$wyrozniki[substr($rej, 0, $olen)])) { return array($rej, 'błąd', 'Błędny format numeru rejestracyjnego'); } $typ = substr($typ, 0, -1).'a'; $return = array($rej, $typ, 'Województwo '.self::$wyrozniki[substr($rej, 0, 1)]); $wyrozniki = self::$wyrozniki[substr($rej, 0, $olen)]; if(is_array($wyrozniki)) { $return[] = 'Miasto: '.$wyrozniki[0]; if(isset($wyrozniki[substr($rej, 0, 1)])) { $return[] = 'Dzielnica: '.$wyrozniki[substr($rej, 0, 1)]; } elseif(isset($wyrozniki[substr($rej, 0, 2)])) { $return[] = 'Dzielnica: '.$wyrozniki[substr($rej, 0, 2)]; } } else { $return[] = $wyrozniki; } return $return; } } } ?>