Maison > développement back-end > tutoriel php > Comment puis-je supprimer les caractères non imprimables d'une chaîne en PHP ?

Comment puis-je supprimer les caractères non imprimables d'une chaîne en PHP ?

Patricia Arquette
Libérer: 2024-12-10 17:07:10
original
748 Les gens l'ont consulté

How Can I Remove Non-Printable Characters from a String in PHP?

Élimination des caractères non imprimables d'une chaîne

Dans certains cas, vous devrez peut-être supprimer les caractères non imprimables d'une chaîne. chaîne, comme celles comprises dans les plages 0-31 et 127 lors de la manipulation de chaînes ou de données nettoyage.

ASCII 7 bits

Pour supprimer les caractères non imprimables dans la plage ASCII 7 bits (0-31, 127-255), utilisez l'expression régulière suivante en utilisant preg_replace :

$string = preg_replace('/[x00-x1Fx7F-xFF]/', '', $string);

Cela supprimera effectivement tous les caractères dans les plages spécifiées.

Pour gérer le format ASCII étendu 8 bits ASCII, en éliminant les caractères uniquement dans les plages 0-31 et 127, utilisez l'expression régulière ajustée :

$string = preg_replace('/[x00-x1Fx7F]/', '', $string);

UTF-8

Pour les chaînes codées en UTF-8, il est recommandé d'incorporer le modificateur /u dans l'expression régulière :

$string = preg_replace('/[x00-x1Fx7F]/u', '', $string);

Cela garantit la suppression précise de caractères de contrôle spécifiques tels que NO-BREAK SPACE (U 00A0) en ajoutant xA0 à la classe de caractères.

Addendum : str_replace Alternative

Bien que preg_replace soit efficace, pensez à str_replace comme alternative, notamment pour les opérations répétées.

// Créer un tableau de caractères non imprimables
$badchars = array(

chr(0), chr(1), chr(2), ..., chr(31),
chr(127)
Copier après la connexion

);

// Remplacez les caractères indésirables en utilisant str_replace
$str2 = str_replace($badchars, '', $str);

Il est important de comparer les performances des deux approches en utilisant vos propres données pour déterminer la solution optimale pour votre cas spécifique.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal