Format Nip

AR
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 10 lat
  • Postów:119
0

Witam pobieram z bazy danych stringa np. 1234567819 i czy jest jakiś łatwy sposób w PHP aby wyświetlić to jako 123-456-78-19 oczywiście nie chodzi mi o wykorzystanie funkcji str_split i potem iterować sobie tablicę i wstawiać - . Proszę o pomoc

dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Rzeszów
0
Kopiuj
$nip = "1234567890";
$nip2 = $nip{0}.$nip{1}.$nip{2}.'-'.$nip{3}.$nip{4}.$nip{5}.'-'.$nip{6}.$nip{7}.'-'.$nip{8}.$nip{9};

FYI: Oficjalnie NIP nie posiada żadnych pauz. Ludzie tak to sobie umownie zaczęli zaznaczać i to jeszcze z taką regułą, że dla NIPów osób fizycznych wstawia się pauzy w określony sposób, a dla firm - w inny.


AR
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 10 lat
  • Postów:119
0

No ten sposób też znam a nie ma czegoś z wyrażeniem regularnym coś z rodziny preg

K3
  • Rejestracja:ponad 11 lat
  • Ostatnio:prawie 11 lat
  • Postów:43
0

możesz sobie zrobić taki regex: ([0-9]{3})([0-9]{3})([0-9]{2})([0-9]{2}), odpalić tak: preg_match($regex, $string, $matches) i z tablicy $matches wyciągnąć potrzebne dane, ale IMO to słabe rozwiązanie - prawdopodobnie szybsze będzie to co podał @dzek69

dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Rzeszów
1

Z regexpami będzie wolniej, będzie dłuższy kod i będzie mniej czytelnie ;]


Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.