Zend Framework

Filtre Suppression d’accents

Bonjours tout le monde,

je sais sa fait longtemps que je n’ai plus rien posté et je m’en excuse. C’est pour cela que je vais vous distribuer un filtre des plus utiles.

Qui n’a pas été embêté avec la suppression des accents avec php?? Entre l’ISO et l’UTF-8 de nombreux problèmes se posent et il suffit que l’un des fichiers, la base de donnée ou le navigateur soient d’un encodage différent pour que les ennuis commencent.

Je vous propose donc ce filtre qui permet de supprimer les accents, les caractères spéciaux et, si vous le voulez, les espaces.
class App_Filter_DellSpecialChars implements Zend_Filter_Interface {
/**
* @see Zend_Filter_Interface::filter()
*
* @param mixed $value
* @return mixed
*/
public function filter($value) {
$value = str_replace("'", "", $value);
$value = htmlentities($value, ENT_NOQUOTES, 'utf-8');
$value = preg_replace('#\&([A-za-z])(?:acute|cedil|circ|grave|ring|tilde|uml)\;#', '\1', $value);
$value = preg_replace('#\&([A-za-z]{2})(?:lig)\;#', '\1', $value); // pour les ligatures e.g. 'œ'
$value = preg_replace('#\&[^;]+\;#', '', $value); // supprime les autres caractères
$value = preg_replace('/\s/', '', $value); //supprime les espaces

return $value;
}

}
J’espère que ce filtre vous sera très utile.