Maison >développement back-end >tutoriel php >Comment supprimer sélectivement les caractères de contrôle des chaînes PHP ?

Comment supprimer sélectivement les caractères de contrôle des chaînes PHP ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-28 05:21:30688parcourir

How to Selectively Remove Control Characters from PHP Strings?

Élimination des caractères de contrôle des chaînes PHP

Lorsque vous travaillez avec des chaînes PHP, il est parfois nécessaire de supprimer les caractères de contrôle comme STX. En essayant d'utiliser preg_replace, vous avez peut-être constaté qu'il supprimait les caractères excessifs au-delà des caractères de contrôle. Notre objectif ici est de vous montrer comment supprimer sélectivement uniquement les caractères de contrôle.

Pour y parvenir, vous pouvez utiliser le code suivant :

preg_replace('/[\x00-\x1F\x7F]/', '', $input);

Ce modèle correspond et remplace les caractères de la plage. de valeurs hexadécimales x00 à x1F, ainsi que la valeur x7F. Cette plage englobe les 32 premiers caractères ASCII ainsi que le caractère DEL.

Si vous souhaitez conserver certains caractères de contrôle, tels que le saut de ligne et le retour chariot, vous pouvez ajuster le modèle en conséquence :

preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $input);

En utilisant ce modèle, vous pouvez supprimer tous les caractères de contrôle à l'exception du saut de ligne (n) et du retour chariot (r).

Il est important de noter que ereg_replace est obsolète en PHP >= 5.3. 0 et supprimé dans PHP >= 7.0.0. Pour garantir la compatibilité, utilisez plutôt preg_replace :

preg_replace('/[[:cntrl:]]/', '', $input);

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn