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;
}
?>