Position actuelle: Accueil> Derniers articles> Comment les débutants utilisent-ils la fonction MB_substr pour extraire une partie d'une chaîne? Voir le tutoriel complet de base ici

Comment les débutants utilisent-ils la fonction MB_substr pour extraire une partie d'une chaîne? Voir le tutoriel complet de base ici

gitbox 2025-06-11

Lorsqu'ils traitent avec des chaînes PHP, surtout s'ils contiennent des caractères chinois ou autres plusieurs caractères, mb_substr () est une fonction très pratique. Il fait partie de l'extension MBSTRING (chaîne multi -yte), spécifiquement utilisée pour gérer les chaînes codées mulabyte comme UTF-8. Pour les débutants, la compréhension et l'apprentissage de l'utilisation de mb_substr () peuvent efficacement éviter les problèmes de code brouillé et assurer la précision de l'interception des chaînes.

1. Qu'est-ce que MB_substr ()

MB_SUBSTR () est utilisé pour intercepter les sous-chaînes à partir d'une chaîne multi -yte. Sa syntaxe de base est la suivante:

 mb_substr(string $string, int $start, ?int $length = null, ?string $encoding = null): string

Description du paramètre:

  • $ String : la chaîne d'origine à fonctionner;

  • $ start : position de démarrage (compter à partir de 0);

  • $ Longueur (facultatif): la longueur à intercepter;

  • $ Encodage (facultatif): codage des caractères, en utilisant le codage interne par défaut (généralement UTF-8).

2. Pourquoi ne pas utiliser substr () ?

Si votre chaîne est pur anglais, vous ne pouvez généralement pas vous tromper avec substr () . Cependant, si vous incluez des caractères chinois, japonais ou non ASCII, l'utilisation de substr () provoquera facilement des erreurs de code ou d'interception brouillées. Par exemple:

 $str = "Bonjour,monde!";
echo substr($str, 0, 2);  // Sortir du code brouillé

Le code ci-dessus produit du code brouillé, car substr () est traité par octets, tandis que les caractères chinois prennent généralement 3 octets.

Et l'utilisation de mb_substr () peut le gérer correctement:

 $str = "Bonjour,monde!";
echo mb_substr($str, 0, 2, "UTF-8");  // Sortir:Bonjour

3. Exemple d'explication

Ci-dessous, nous utilisons quelques exemples pour nous familiariser avec l'utilisation de mb_substr () .

Exemple 1: Extraire les premiers caractères d'une chaîne

 $str = "PHPTutoriel:Apprendre de zéro";
echo mb_substr($str, 0, 5, "UTF-8");  // Sortir:PHPTutoriel:depuis

Exemple 2: Intercepter la partie médiane d'une chaîne

 $str = "Accueillirgitbox.netdePHPZone d'enseignement";
echo mb_substr($str, 4, 6, "UTF-8");  // Sortir:arrivergitbox.net

Exemple 3: spécifiez uniquement la position de départ et interceptez la fin

 $str = "étudePHPTrès intéressant";
echo mb_substr($str, 3, null, "UTF-8");  // Sortir:PHPTrès intéressant

Exemple 4: Utilisez un indice négatif pour intercepter de la fin

 $str = "程序员detous les jours生活";
echo mb_substr($str, -4, 2, "UTF-8");  // Sortir:tous les jours

4. Comment définir le codage par défaut

Vous pouvez utiliser mb_internal_encoding () pour définir le codage par défaut pour éviter d'écrire "UTF-8" à chaque fois:

 mb_internal_encoding("UTF-8");
$str = "En profondeur et facile à comprendrePHPDéveloppement";
echo mb_substr($str, 2, 3);  // Sortir:Facile à comprendrePHP

5. Résumé

MB_SUBSTR () est un outil standard pour PHP pour gérer les chaînes de caractères mulabyte (comme le chinois) et est plus sûr et plus précis que le substr traditionnel () . La maîtrise de cette fonction est une capacité de base pour les projets internationaux et le développement de sites Web chinois. N'oubliez pas: lorsque vous faites face à des chaînes non anglophones, utilisez d'abord MB_substr () .

Si vous souhaitez obtenir des tutoriels PHP plus basiques, veuillez visiter gitbox.net . Vous trouverez une multitude de ressources d'introduction et d'exemples de code pour vous aider à devenir rapidement un développeur PHP qualifié.