= $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;
}
}