MB_CONVERT_KANA est une fonction de traitement de chaîne multi -yte en PHP, qui est utilisée pour convertir les caractères pleine largeur et demi-largeur dans des caractères japonais tels que les caractères Kana. Cette fonction est particulièrement adaptée au traitement des caractères pleine largeur et demi-largeur dans l'entrée, garantissant que le format du contenu d'entrée est unifié.
Le format commun de la fonction MB_CONVERT_KANA est le suivant:
<span><span><span class="hljs-title function_ invoke__">mb_convert_kana</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$option</span></span><span>, </span><span><span class="hljs-variable">$encoding</span></span><span>);
</span></span>
$ str est la chaîne à convertir.
L'option $ est une option de conversion et peut inclure:
«A» convertit tous les personnages du nombre d'anglais pleine largeur en demi-largeur.
«A» convertit les lettres anglaises pleine largeur en demi-largeur.
«K» convertit le pseudonyme pleine largeur en une demi-largeur.
«K» convertit les personnages pseudonymes de pleine largeur (y compris les longues notes) en demi-largeur.
«H» convertit les marques de ponctuation en pleine largeur en demi-largeur.
«H» convertit les marques de ponctuation pleine largeur (y compris les périodes, les virgules, etc.) en demi-largeur.
«C» convertit les numéros pleine largeur en demi-largeur.
$ Encoding est le codage des caractères (par exemple, UTF-8 ) et par défaut SJIS .
Par exemple, convertissez une chaîne contenant des chiffres anglais pleine largeur en demi-largeur:
<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"ABC123"</span></span><span>;
</span><span><span class="hljs-variable">$converted</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_kana</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">'a'</span></span><span>); </span><span><span class="hljs-comment">// Le résultat est 'ABC123'</span></span><span>
</span></span>
Preg_replace est une fonction d'expression régulière de PHP qui remplace le contenu dans une chaîne en fonction des modèles réguliers. À travers elle, nous pouvons facilement effectuer des opérations complexes de correspondance de motifs et de remplacement sur les chaînes, en particulier lorsque des caractères spéciaux doivent être supprimés ou formatés en données.
L'utilisation de base de la fonction prég_replace est la suivante:
<span><span><span class="hljs-title function_ invoke__">preg_replace</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$replacement</span></span><span>, </span><span><span class="hljs-variable">$subject</span></span><span>);
</span></span>
Le modèle $ est le modèle d'expressions régulières.
$ Remplacement est la chaîne à remplacer.
$ Subject est une chaîne en attente.
Par exemple, remplacez tous les nombres d'une chaîne par un astérisque:
<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"abc123xyz"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_replace</span></span><span>(</span><span><span class="hljs-string">"/\d/"</span></span><span>, </span><span><span class="hljs-string">"*"</span></span><span>, </span><span><span class="hljs-variable">$str</span></span><span>); </span><span><span class="hljs-comment">// Le résultat est 'abc***xyz'</span></span><span>
</span></span>
En utilisant MB_Convert_Kana et Preg_Replace ensemble, nous pouvons contrôler l'entrée plus granulaire. Par exemple, lorsque la saisie de l'utilisateur, nous avons non seulement besoin de convertir les caractères pleine largeur en demi-largeurs, mais aussi supprimer des espaces supplémentaires ou d'autres caractères non alphanumériques. Voici un exemple montrant comment combiner ces deux fonctions pour normaliser les entrées.
Supposons que nous ayons un formulaire où l'utilisateur peut entrer une chaîne avec des caractères, des espaces ou des symboles spéciaux. Nous espérons normaliser avant d'économiser pour assurer la cohérence des données.
<span><span><span class="hljs-comment">// Supposons les données d'origine entrées par l'utilisateur</span></span><span>
</span><span><span class="hljs-variable">$user_input</span></span><span> = </span><span><span class="hljs-string">" ABC 123 !@#"</span></span><span>;
</span><span><span class="hljs-comment">// utiliser mb_convert_kana Convertir les personnages pleine largeur en demi-largeur</span></span><span>
</span><span><span class="hljs-variable">$normalized_input</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_kana</span></span><span>(</span><span><span class="hljs-variable">$user_input</span></span><span>, </span><span><span class="hljs-string">'a'</span></span><span>);
</span><span><span class="hljs-comment">// utiliser preg_replace Retirer les espaces supplémentaires et les symboles spéciaux</span></span><span>
</span><span><span class="hljs-variable">$normalized_input</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_replace</span></span><span>(</span><span><span class="hljs-string">"/[^a-zA-Z0-9]/"</span></span><span>, </span><span><span class="hljs-string">""</span></span><span>, </span><span><span class="hljs-variable">$normalized_input</span></span><span>);
</span><span><span class="hljs-comment">// Sortie des résultats</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$normalized_input</span></span><span>; </span><span><span class="hljs-comment">// Le résultat est 'ABC123'</span></span><span>
</span></span>
mb_convert_kana ($ user_input, 'a') : convertissez tous les caractères pleine largeur (y compris les caractères numériques anglais et les pseudonymes) en caractères à demi-largeur.
preg_replace ("/ [^ a-za-z0-9] /", "", $ normalisé_input) : supprimez tous les caractères non alphanumériques de la chaîne (c'est-à-dire les espaces, les marques de ponctuation, etc.).
Cette application de combinaison est idéale pour une utilisation dans les scénarios suivants:
Soumission de formulaire : Lorsqu'un utilisateur soumet des données, il entre souvent du contenu dans des formats incohérents, tels que le mélange complet et demi-largeur, espaces, marques de ponctuation, etc. En utilisant ces deux fonctions, nous pouvons les convertir en format cohérent.
Stockage de la base de données : lors du stockage des données, assurer la cohérence des données est très important pour le traitement ultérieur. En normalisant l'entrée, les erreurs de requête causées par des formats incohérentes sont évités.
Fonctionnalité de recherche : l'entrée normalisée peut aider à améliorer la précision de la recherche si vous devez prendre en charge la recherche floue ou la correspondance des mots clés.
En combinant MB_Convert_kana et Preg_Replace , nous pouvons effectuer une normalisation plus flexible et détaillée de l'entrée utilisateur. Cette méthode unifie non seulement le format de caractère, mais supprime également les symboles et les espaces inutiles, améliorant la cohérence et la qualité des données. Dans le développement réel, cette méthode est souvent utilisée dans des scénarios tels que le traitement des entrées de formulaire, le stockage de la base de données et l'optimisation des moteurs de recherche, et est une technique très pratique.