par
Aurélien Le Cointre » 08 nov. 2006, 10:26
Bonjour,
Après l'indication d'Albat, j'ai essayé de travailler à partir d'une expression régulière.
J'ai obtenu ce code :
$ip = '127.0.0.1';
preg_match_all('#(\d{1,3})(?:.)(\d{1,3})(?:.)(\d{1,3})(?:.)(\d{1,3})#', $ip, $sortie, PREG_SET_ORDER);
if (strlen($sortie[0][1]) == 1)
$sortie[0][1] = '00'.$sortie[0][1];
if (strlen($sortie[0][1]) == 2)
$sortie[0][1] = '0'.$sortie[0][1];
if (strlen($sortie[0][2]) == 1)
$sortie[0][2] = '00'.$sortie[0][2];
if (strlen($sortie[0][2]) == 2)
$sortie[0][2] = '0'.$sortie[0][2];
if (strlen($sortie[0][3]) == 1)
$sortie[0][3] = '00'.$sortie[0][3];
if (strlen($sortie[0][3]) == 2)
$sortie[0][3] = '0'.$sortie[0][3];
if (strlen($sortie[0][4]) == 1)
$sortie[0][4] = '00'.$sortie[0][4];
if (strlen($sortie[0][4]) == 2)
$sortie[0][4] = '0'.$sortie[0][4];
print $sortie[0][1].$sortie[0][2].$sortie[0][3].$sortie[0][4];
Le résultat me donne satisfaction, mais ne pourrais-je améliorer le code à partir de cette base ?
Merci de votre aide.
Cordialement,
Aurélien
Bonjour,
Après l'indication d'Albat, j'ai essayé de travailler à partir d'une expression régulière.
J'ai obtenu ce code :
[php]
$ip = '127.0.0.1';
preg_match_all('#(\d{1,3})(?:.)(\d{1,3})(?:.)(\d{1,3})(?:.)(\d{1,3})#', $ip, $sortie, PREG_SET_ORDER);
if (strlen($sortie[0][1]) == 1)
$sortie[0][1] = '00'.$sortie[0][1];
if (strlen($sortie[0][1]) == 2)
$sortie[0][1] = '0'.$sortie[0][1];
if (strlen($sortie[0][2]) == 1)
$sortie[0][2] = '00'.$sortie[0][2];
if (strlen($sortie[0][2]) == 2)
$sortie[0][2] = '0'.$sortie[0][2];
if (strlen($sortie[0][3]) == 1)
$sortie[0][3] = '00'.$sortie[0][3];
if (strlen($sortie[0][3]) == 2)
$sortie[0][3] = '0'.$sortie[0][3];
if (strlen($sortie[0][4]) == 1)
$sortie[0][4] = '00'.$sortie[0][4];
if (strlen($sortie[0][4]) == 2)
$sortie[0][4] = '0'.$sortie[0][4];
print $sortie[0][1].$sortie[0][2].$sortie[0][3].$sortie[0][4];
[/php]
Le résultat me donne satisfaction, mais ne pourrais-je améliorer le code à partir de cette base ?
Merci de votre aide.
Cordialement,
Aurélien