Position actuelle: Accueil> Derniers articles> Convert_cyr_string peut-il propre texte? Essayez de coder le nettoyage avec str_replace

Convert_cyr_string peut-il propre texte? Essayez de coder le nettoyage avec str_replace

gitbox 2025-09-17

En PHP, la conversion et le nettoyage des chaînes sont des opérations très courantes. Comment maintenir l'exactitude et la cohérence des caractères est un défi lorsqu'il s'agit de texte dans différents formats d'encodage, en particulier lors des applications multiplateformes ou lorsque des sources de données externes sont impliquées. convert_cyr_string et str_replace sont tous deux des outils utiles en php. Aujourd'hui, nous explorerons comment ils travaillent ensemble pour réaliser le nettoyage en codage et la normalisation du texte.

Présentation de la fonction convert_cyr_string

convert_cyr_string est une fonction de PHP pour la conversion de codage de caractères cyrilliques. Cyrillic est un système de lettres utilisé dans de nombreuses langues d'Europe de l'Est. convert_cyr_string est particulièrement utile si vous avez affaire à un texte qui contient des lettres russes ou autres cyrilliques.

Le prototype de cette fonction est:

 <span><span><span class="hljs-title function_ invoke__">convert_cyr_string</span></span><span> ( </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$from</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$to</span></span><span> ) : </span><span><span class="hljs-keyword">string</span></span><span>
</span></span>
  • $ str : La chaîne à convertir.

  • $ From : Encoding de source, peut être «KOI8-R» , «Win-1251» , etc.

  • $ to : codage cible, tel que «koi8-r» , «utf-8» , etc.

Par exemple, supposons que nous ayons un morceau de texte codé dans KOI8-R , que nous pouvons convertir en codage UTF-8 via convert_cyr_string :

 <span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-string">"Привет мир"</span></span><span>; </span><span><span class="hljs-comment">// KOI8-R codage</span></span><span>
</span><span><span class="hljs-variable">$converted_text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">convert_cyr_string</span></span><span>(</span><span><span class="hljs-variable">$text</span></span><span>, </span><span><span class="hljs-string">'koi8-r'</span></span><span>, </span><span><span class="hljs-string">'utf-8'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$converted_text</span></span><span>; </span><span><span class="hljs-comment">// Sortir:Привет мир</span></span><span>
</span></span>

Utilisez STR_REPLACE pour nettoyer les caractères inutiles

En plus du codage de conversion, nous devons parfois également nettoyer les caractères inutiles dans la chaîne, tels que des caractères spéciaux, des pauses en ligne ou d'autres encodages non reconnus. Dans ce cas, STR_REPLACE peut nous aider à remplacer ou supprimer ces caractères.

La fonction STR_REPLACE est un outil utilisé en PHP pour remplacer les chaînes. Son prototype est:

 <span><span><span class="hljs-title function_ invoke__">str_replace</span></span><span>( </span><span><span class="hljs-keyword">mixed</span></span><span> </span><span><span class="hljs-variable">$search</span></span><span> , </span><span><span class="hljs-keyword">mixed</span></span><span> </span><span><span class="hljs-variable">$replace</span></span><span> , </span><span><span class="hljs-keyword">mixed</span></span><span> </span><span><span class="hljs-variable">$subject</span></span><span> ) : </span><span><span class="hljs-keyword">mixed</span></span><span>
</span></span>
  • $ Search : le caractère ou la chaîne à rechercher.

  • $ remplace : un caractère ou une chaîne utilisée pour le remplacement.

  • $ Sujet : La chaîne d'origine pour effectuer l'opération de remplacement.

Par exemple, nous pouvons utiliser STR_REPLACE pour remplacer tous les caractères Newline dans une chaîne par des espaces, ou supprimer des espaces inutiles:

 <span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-string">"Hello, \nWorld! \tThis is PHP."</span></span><span>;
</span><span><span class="hljs-variable">$cleaned_text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_replace</span></span><span>(</span><span><span class="hljs-keyword">array</span></span><span>(</span><span><span class="hljs-string">"\n"</span></span><span>, </span><span><span class="hljs-string">"\t"</span></span><span>), </span><span><span class="hljs-string">' '</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$cleaned_text</span></span><span>; </span><span><span class="hljs-comment">// Sortir:Hello, World! This is PHP.</span></span><span>
</span></span>

convert_cyr_string et str_replace sont utilisés ensemble

convert_cyr_string et str_replace fonctionnent bien ensemble lorsque nous devons convertir le codage et nettoyer les caractères inutiles en même temps. Supposons que vous ayez un texte qui contient des caractères cyrilliques et que le texte contient également des caractères invalides, tels que des ruptures de ligne supplémentaires ou des caractères non imprimables, nous pouvons d'abord utiliser convert_cyr_string pour encoder la conversion, puis utiliser STR_REPLACE pour nettoyer les caractères indésirables.

Par exemple, supposons que vous ayez un texte contenant du codage KOI8-R, avec des pauses en ligne et des espaces supplémentaires mélangés, voici un exemple de nettoyage:

 <span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-string">"Привет \nмир! \tЭто \tтестовый \nтекст."</span></span><span>;
</span><span><span class="hljs-comment">// Mettez-le en premier KOI8-R codage转换为 UTF-8</span></span><span>
</span><span><span class="hljs-variable">$converted_text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">convert_cyr_string</span></span><span>(</span><span><span class="hljs-variable">$text</span></span><span>, </span><span><span class="hljs-string">'koi8-r'</span></span><span>, </span><span><span class="hljs-string">'utf-8'</span></span><span>);
</span><span><span class="hljs-comment">// Puis utiliser str_replace Retirez les espaces supplémentaires et les pauses de ligne</span></span><span>
</span><span><span class="hljs-variable">$cleaned_text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_replace</span></span><span>(</span><span><span class="hljs-keyword">array</span></span><span>(</span><span><span class="hljs-string">"\n"</span></span><span>, </span><span><span class="hljs-string">"\t"</span></span><span>), </span><span><span class="hljs-string">' '</span></span><span>, </span><span><span class="hljs-variable">$converted_text</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$cleaned_text</span></span><span>; </span><span><span class="hljs-comment">// Sortir:Привет мир! Это тестовый текст.</span></span><span>
</span></span>

Grâce à la méthode ci-dessus, utilisez d'abord convert_cyr_string pour faire face au problème de codage, puis utilisez STR_REPLACE pour effacer les caractères inutiles et enfin obtenir un texte propre et standardisé.

Résumer

Bien que convert_cyr_string lui-même ne soit pas utilisé directement pour nettoyer le texte, il peut nettoyer et normaliser efficacement le texte lorsqu'il est utilisé avec d'autres fonctions telles que STR_REPLACE , en particulier lorsqu'il s'agit de jeux de caractères dans différents formats de codage. Avec cette combinaison, nous pouvons facilement coder et nettoyer les caractères, assurer la cohérence entre différents systèmes ou plateformes.

J'espère que l'introduction d'aujourd'hui vous aidera à mieux comprendre comment utiliser convert_cyr_string et str_replace pour faire face aux problèmes de codage et de nettoyage du texte!