File "analyse_champ.php"
Full Path: /home/analogde/www/Design/fileman/Fusion/Table/analyse_champ.php
File size: 1.4 KB
MIME-type: text/x-php
Charset: utf-8
<?php
if(isset($_POST["champ"]))
{
$champ = preg_replace("/[^0-9.]/", "", $_POST["champ"] );
//$champ = preg_replace("/[^0-9.]/", "", "78Z81" );
// si la chaine est vide, cela siginifie qu'il n'y avait que des lettres
if( strlen($champ) == 0 )
{
$results = "vide";
}
else
{
$pieces = str_split($champ);
// compter les points
$test = point_exploration($pieces);
// non valide car plusieurs points
if( $test == true)
{
$results = "vide";
}
// il y a un seul point
else
{
// supprimer le point en premiére position
if( $pieces[0] == chr(46) )
{
$changed = substr($champ, 1);
$results = $changed;
}
// supprimer le point en derniere position
else if( end($pieces) == chr(46) )
{
$changed = substr($champ, 0, -1);
$results = $changed;
}
// on conserve le point qui défini un nombre decimal
else
{
$results = $champ;
}
}
}
echo $results;
}
function point_exploration($pieces)
{
$cpt = 0;
$flag_not_valide_point = false;
for ($i = 0; $i < count($pieces); $i++)
{
if( $pieces[$i] == chr(46) )
{
// compte les points qui sont inclus dans la chaine
$cpt++;
if( $cpt >= 2 )
{
$flag_not_valide_point = true;
break;
}
}
}
return $flag_not_valide_point;
}
?>