Maison > Article > développement back-end > Comment vérifier si une chaîne commence par une chaîne spécifique en PHP ?
Vérifier si une chaîne commence par une chaîne spécifique
Déterminer si une chaîne commence par une séquence particulière de caractères peut être essentiel dans diverses programmations scénarios. Un cas d'utilisation courant consiste à vérifier la présence de protocoles HTTP dans les URL. Cet article propose des solutions complètes pour cette tâche en utilisant à la fois les versions PHP modernes et héritées.
PHP moderne (version 8 et supérieure) :
PHP 8 introduit le fonction str_starts_with, qui fournit un moyen pratique de vérifier si une chaîne commence par une autre. Sa syntaxe est simple :
str_starts_with($string, $prefix)
Par exemple :
<code class="php">$string1 = 'google.com'; $string2 = 'http://www.google.com'; var_dump(str_starts_with($string2, 'http')); // true</code>
Legacy PHP (version 7 et inférieure) :
Dans les anciens PHP versions, la fonction substr peut être utilisée pour atteindre le même objectif. substr extrait une partie d'une chaîne, vous permettant de comparer les premiers caractères avec le préfixe spécifié.
substr($string, 0, strlen($prefix)) === $prefix
Par exemple :
<code class="php">substr($string2, 0, 4) === "http"; // true</code>
Cette méthode garantit que la comparaison ne prend en compte que le nombre spécifié de caractères depuis le début de la chaîne. Vous pouvez modifier l'argument de longueur pour vérifier les préfixes plus longs.
Considérations supplémentaires :
Lorsque vous traitez des protocoles, il est crucial de vous assurer que la comparaison est suffisamment spécifique pour éviter les correspondances. chaînes involontaires. Par exemple, si vous souhaitez vous assurer qu'une chaîne commence par « http:// » et pas seulement par « http », utilisez ce qui suit :
<code class="php">substr($string, 0, 7) === "http://";</code>
Cela garantit que la comparaison ne correspond qu'aux chaînes qui explicitement commencez par "http://", à l'exclusion des autres variantes telles que "https" ou "http-protocol.com".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!