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

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

Barbara Streisand
Barbara Streisandoriginal
2024-10-27 03:49:03922parcourir

 How to Selectively Remove Control Characters from PHP Strings Without Removing Essential Characters?

Prévenir la suppression excessive de caractères des chaînes PHP

En PHP, la suppression des caractères de contrôle d'une chaîne nécessite une attention particulière pour éviter de supprimer des caractères valides. L’expression régulière fournie supprime avec succès les caractères de contrôle, mais elle élimine également involontairement d’autres caractères essentiels. Cela soulève la question : comment les programmeurs peuvent-ils supprimer sélectivement les caractères de contrôle sans compromettre l'intégrité de la chaîne ?

Pour résoudre ce problème, une expression régulière plus précise peut être utilisée :

<code class="php">preg_replace('/[\x00-\x1F\x7F]/', '', $input);</code>

Ceci L'expression cible uniquement les 32 premiers caractères ASCII et x7F, qui englobent les retours chariot, tout en préservant les sauts de ligne et les retours chariot (souvent notés r et n) si vous le souhaitez.

<code class="php">preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $input);</code>

Vous pouvez également utiliser le [:cntrl :] La classe de caractères simplifie l'expression :

<code class="php">preg_replace('/[[:cntrl:]]/', '', $input);</code>

Remarque : Ereg_replace est obsolète en PHP et doit être remplacé par preg_replace.

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