410 votes

Suppression de caractères non alphanumériques avec PHP

J'ai besoin de retirer tous les caractères d'une chaîne qui ne sont pas az AZ 0-9 ou "". Est-ce que quelqu'un a une fonction pour le faire?

800voto

Chad Birch Points 39087

On dirait que vous saviez déjà ce que vous vouliez faire, vous l'avez défini comme une regex.

 preg_replace("/[^A-Za-z0-9 ]/", '', $string);
 

188voto

voondo Points 622

Pour les caractères Unicode, c'est:

 preg_replace("/[^\w\d ]/ui", '', $string);
 

58voto

raspi Points 2792

L'expression régulière est votre réponse.

 $str = preg_replace('/[^a-z\d ]/i', '', $str);
 

-4voto

DaveE Points 1028
 function count_letters ($str) {
$str = preg_replace('/[^a-z\d ]/i', '', $str);
$str = str_replace(' ','',$str);
return strlen($str);
}

echo count_letters("This is David's answer"); # will return 18
 

EDIT: Je viens de réaliser que cette question a deux ans. Je cherchais simplement une réponse à une question similaire et je me suis installé dans la fonction ci-dessus.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X