Questa versione e' un po' piu' generale perche':
- accetta ogni carattere alfabetico prima della sequenza di 6 cifre
- accetta l'anno dopo le 6 cifre anche se non ci sono caratteri alfabetici prima (tipo "000003/03"), non sapevo se era necessario
- considera in maniera estremamente semplicistica solo gli anni dal 2000 in poi (non e' un problema sistemare quello se necessario)
Codice PHP:
<?php
$in = 'ADAB000002/02';
$out = "";
if (preg_match("#(\\w*)(\\d{6})(?:/(\\d\\d))?#", $in, $matches)) {
if ($matches[1]) {
$out = $matches[1] . "-";
} else {
$out = "BOLLA-";
}
$out .= $matches[2] . "-";
if ($matches[3]) {
$out .= "20" . $matches[3];
} else {
$out .= date("Y", time());
}
}
echo $out;
?>