= $taille) { return substr($chaine, 0, $taille); } $encoding = mb_internal_encoding(); $diff = strlen($chaine) - mb_strlen($chaine, $encoding); if ($align == self::ALIGN_RIGHT) { return str_pad($chaine, $taille + $diff, $caractere_pour_combler, STR_PAD_LEFT); } if ($align == self::ALIGN_LEFT) { return str_pad($chaine, $taille + $diff, $caractere_pour_combler, STR_PAD_RIGHT); } return $str; } /** * Supprime les accents * @param string $strWithAccent */ public static function trimAccent($strWithAccent) { $strWithAccent = htmlentities(strtolower($strWithAccent )); $strWithAccent = preg_replace("/&(.)(acute|cedil|circ|ring|tilde|uml|grave);/", "$1", $strWithAccent ); $strWithAccent = preg_replace("/([^a-z0-9]+)/", " ", html_entity_decode($strWithAccent )); $strWithAccent = trim($strWithAccent , "-"); return $strWithAccent; } /** * * @param unknown $str */ public static function htm2txt($str) { return trim(strip_tags( str_replace(chr(160), ' ', str_replace('œ', 'oe', str_replace('’', '\'', html_entity_decode($str, ENT_QUOTES)))))); } /** * Vérification que la variable demandé respecte bien les règles passées en paramètres * @param mixed Variable à tester * @param int Longueur minimum en caractère de la variable * @param int Longueur mximum * @param char(1) Type de variable A:Alphanumérique / N:Numérique * @param mixed Message textuel d'erreur à afficher en cas d'erreur ou false * @return mixed true, false ou Message d'erreur passé en paramètre */ public static function valideData($variable, $taille_min, $taille_max, $type_variable, $erreur=false) { if ( strlen((string)$variable) < $taille_min ) { return $erreur; } if ( strlen((string)$variable) > $taille_max ) { return $erreur; } if ( $type_variable == 'A' ) { if ( is_string($variable) == true ) { return true; } else { return $erreur; } } elseif ( $type_variable == 'N') { for ($i=0; $i < strlen((string)$variable); $i++) { $car = substr((string)$variable,$i,1); if ($car<'0' || $car>'9') { return $erreur; } } return true; } return $erreur; } }