次の文字列を preg_replace する方法がわかりません:
$str = "01;01;0000000; text, spaces and many tipes of caracters like : . ; ' - and then ;1234;123; text and/or numbers and/or symbols 02;05;1111; text, spaces and many tipes of caracters like : . ; ' - and then ;4444;333; text and/or numbers and/or symbols 03;07;45457; text, spaces and many tipes of caracters like : . ; ' - and then ;4321;321; text and/or numbers and/or symbols ";
ということで、 の前後をすべて入れ替えたいと思い1234;123
ます。1234
は常に 4 つの数字のシーケンスであり、123
常に 3 つの数字のシーケンスです。
ここに元の文字列の一部があります
$str= "01;01;249;Alcafaz;;;;;;;;;;;3750;011;AGADÃO 01;01;250;Caselho;;;;;;;;;;;3750;012;AGADÃO 01;01;251;Corga da Serra;;;;;;;;;;;3750;013;AGADÃO 01;01;252;Foz;;;123;;;;;3750;014;AGADÃO 01;01;253;Guistola;;;ni ;;;;;3750;015;AGADÃO 01;01;254;Guistolinha;;;;.;;;;3750;016;AGADÃO 01;01;255;Lomba;;;;-;;;;;3750;017;AGADÃO 01;01;256;Povinha;;;;;;;;;;;3750;018;AGADÃO 01;01;257;Vila Mendo;;;; ;;;3750;019;AGADÃO 01;01;258;Aguada de Baixo;;;;;;;;;;PC AGUADA DE BAIXO;3750;996;AGUADA DE BAIXO 01;01;258;Aguada de Baixo;;;;;;;;;;;3750;031;AGUADA DE BAIXO 01;01;260;Landiosa;;;::::;;;;3750;033;AGUADA DE BAIXO 01;01;262;Passadouro;;;;;;;;;;;3750;035;AGUADA DE BAIXO 01;01;263;Aguada de Cima;;;;;;**;;;3750;041;AGUADA DE CIMA 01;01;264;Aguadalte;;;;;-+;;;3750;042;AGUADA DE CIMA";