Avant d'expliquer comment supprimer les caractères chinois, comprenez d'abord la définition des cordes chinoises. Une chaîne chinoise est une chaîne composée de caractères chinois. Chaque caractère chinois occupe généralement deux octets et est codé dans Unicode, ce qui nécessite une attention particulière aux problèmes de codage des personnages lorsqu'ils traitent des chaînes.
Des expressions régulières peuvent correspondre et supprimer les caractères chinois dans les cordes. Voici un exemple de code qui montre comment supprimer le chinois en utilisant des expressions régulières:
$str = "Hello, Bonjour!";
$str = preg_replace('/[\x{4e00}-\x{9fa5}]/u', '', $str);
echo $str; // Sortir: Hello, !
Analyse: L'expression régulière correspond ici à tous les caractères chinois, et le support de codage UTF-8 est activé à l'aide du paramètre U. La fonction preg_replace est responsable du remplacement du chinois apparié avec une chaîne vide pour atteindre la fonction de suppression.
MB_SUBSTR est une fonction d'interception de chaîne multi-octets. Bien qu'il ne puisse pas supprimer directement le chinois, il peut également réaliser l'effet d'élimination grâce à des techniques d'interception spécifiques. Les exemples sont les suivants:
$str = "Hello, Bonjour!";
$str = mb_substr($str, 0, 0, 'UTF-8') . mb_substr($str, 0, 0, 'UTF-8');
echo $str; // Sortir: Hello, !
Analyse: Cette méthode intercepte la longueur de la chaîne à 0 et renvoie une chaîne vide. Bien que l'effet de code dans l'exemple soit limité, les méthodes d'expression régulières sont plus recommandées dans le développement réel.
La fonction preg_replace_callback permet le traitement personnalisé des chaînes de correspondance et peut être utilisée pour supprimer les caractères chinois. L'exemple est le suivant:
$str = "Hello, Bonjour!";
$str = preg_replace_callback('/[\x{4e00}-\x{9fa5}]/u', function($matches) {
return "";
}, $str);
echo $str; // Sortir: Hello, !
Analyse: Cette fonction utilise un mécanisme de rappel pour remplacer les caractères chinois correspondants par une chaîne vide pour réaliser l'effet de la suppression du chinois.
Cet article présente trois méthodes pour supprimer les caractères chinois dans les chaînes en PHP, à savoir preg_replace basé sur des expressions régulières, interceptant le traitement de rappel MB_SUBSTR et preg_replace_callback. Dans les applications pratiques, les méthodes d'expression régulières sont plus concises et efficaces, il est donc recommandé de les utiliser en premier. Lorsque vous fonctionnez, vous devez faire attention au format de codage de la chaîne pour vous assurer que le codage UTF-8 est utilisé pour éviter le code brouillé.