sept
1
2009

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.

 PHP |  copy code |? 
01
class App_Filter_DellSpecialChars implements Zend_Filter_Interface {
02
	/**
03
	 * @see Zend_Filter_Interface::filter()
04
	 *
05
	 * @param mixed $value
06
	 * @return mixed
07
	 */
08
	public function filter($value) {
09
		$value = str_replace("'", "", $value);
10
		$value = htmlentities($value, ENT_NOQUOTES, 'utf-8');
11
		$value = preg_replace('#\&([A-za-z])(?:acute|cedil|circ|grave|ring|tilde|uml)\;#', '\1', $value);
12
		$value = preg_replace('#\&([A-za-z]{2})(?:lig)\;#', '\1', $value); // pour les ligatures e.g. 'œ'
13
		$value = preg_replace('#\&[^;]+\;#', '', $value); // supprime les autres caractères
14
		$value = preg_replace('/\s/', '', $value); //supprime les espaces
15
 
16
		return $value;
17
	}
18
 
19
}

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

Articles Connexes

A propos de l'Auteur: Benjamin Besse

Je suis Analyste Développeur chez Goomeo et je suis passioné par tout ce qui touche aux technologies du Web. J'ai commencé par apprendre l'utilisation du Framework Zend et j'ai continué naturellement via Android. Le tout seulement avec les bases acquises en DUT et Licence professionnelle Informatique.

Laisser un commentaire

Mots-Clefs