Position actuelle: Accueil> Derniers articles> Utilisez substr pour extraire les n premier caractères d'une chaîne PHP

Utilisez substr pour extraire les n premier caractères d'une chaîne PHP

gitbox 2025-05-31

1. Utilisation de base de la fonction substr

La fonction substr dans PHP est définie comme suit:

 substr(string $string, int $start, ?int $length = null): string
  • $ String : la chaîne à intercepter.

  • $ start : position de démarrage, 0 représente le premier caractère de la chaîne.

  • $ Longueur : la longueur interceptée, si elle n'est pas spécifiée, est interceptée de la position de début à la fin de la chaîne.

2. Méthode d'écriture simple pour extraire les n premier caractères d'une chaîne

Supposons que vous souhaitiez extraire les n premier caractères de la chaîne $ str , le code est le suivant:

 $str = "Ceci est une chaîne de test";
$n = 5;
$substring = substr($str, 0, $n);
echo $substring;

Ce code publie les 5 premiers caractères de la chaîne.

3. Faites attention aux problèmes de codage des personnages multi-octets

Bien que la fonction du substr soit simple, elle peut provoquer du code brouillé ou un demi-personnage tronqué lorsqu'il s'agit de caractères multi-octets (comme le chinois, le japonais, le coréen, etc.). En effet

Si la chaîne est un codage UTF-8, il est recommandé d'utiliser la fonction MB_SUBSTR , qui est Multibyte-Safe:

 $str = "Ceci est une chaîne de test";
$n = 5;
$substring = mb_substr($str, 0, $n, "UTF-8");
echo $substring;

MB_substr peut traiter correctement les caractères multi-octets, garantissant que les caractères ne seront pas tronqués pendant l'interception.

4. Combiné avec des exemples: Sortie en toute sécurité les n premier caractères d'une page Web

 <?php
$str = "Bienvenue à visiter gitbox.net Site web,Il y a des ressources abondantes ici。";
$n = 10;

// Avant d&#39;intercepter la chaîne10Personnages
$substring = mb_substr($str, 0, $n, "UTF-8");

// Sortie vers la page Web
echo "<p>Résumé du contenu:{$substring}...</p>";
?>

5. Résumé

  • Lorsque vous utilisez substr pour intercepter les chaînes, s'il s'agit d'une chaîne codée en anglais ou à un octet, utilisez simplement substr ($ str, 0, $ n) .

  • Lors du traitement des chaînes multipyte, vous devez utiliser MB_substr ($ str, 0, $ n, "utf-8") pour vous assurer que les caractères ne sont pas tronqués et brouillés.

  • Lors de la sortie d'une page Web, combinez des balises HTML pour afficher en toute sécurité les résultats interceptés.