3 façons de vérifier si une chaîne PHP en contient une autre
Publié: 2022-02-13Probablement la partie la plus frustrante de l'écriture de code PHP pour déterminer si une chaîne PHP contient une autre chaîne. Mais ne vous inquiétez pas - dans ce didacticiel, nous allons montrer à quel point il est facile d'identifier une sous-chaîne à l'aide de plusieurs méthodes. En plus de les présenter, nous allons également discuter de leurs avantages et, bien sûr, de leurs inconvénients. Veuillez garder à l'esprit qu'il existe plusieurs méthodes pour "extraire" les sous-chaînes.
Table des matières
Quelques considérations si la chaîne PHP en contient une autre
La première erreur majeure dans le test d'une sous-chaîne consiste à utiliser le mauvais opérateur de comparaison. Par exemple, si vous utilisez != pour rechercher une sous-chaîne, vous pourriez vous retrouver avec ce qu'on appelle un faux positif. Dans ce cas, il est préférable d'utiliser !==, qui compare le type.
Si vous rencontrez des difficultés pour déterminer quel opérateur utiliser dans un certain contexte, vous pouvez vous référer à ce tutoriel PHP pour des informations détaillées sur les opérateurs et leurs fonctions. Vous trouverez également des exemples de code expliqués pour le programmeur novice.
Comme nous l'avons dit, il existe différentes méthodes pour déterminer si une chaîne contient un mot ou une autre chaîne. À ce jour, il existe cinq méthodes, mais seules les trois premières d'entre elles sont rapides.
- stripos () sensible à la casse pour vérifier si une chaîne contient une autre chaîne.
- Regex pour la chaîne dans la chaîne
- strstr () pour une chaîne dans une autre chaîne.
1.Vérification d'une sous-chaîne à l'aide de la référence de chaîne sensible à la casse stripos()
Le moyen le plus rapide et le plus simple de vérifier si une chaîne en contient une autre consiste à utiliser la fonction stripos() qui recherche essentiellement si une chaîne contient un mot particulier. Ce qui se passe, c'est que la fonction renverra TRUE si la chaîne contient une sous-chaîne/un mot ou FALSE si la chaîne ne contient aucun des deux.
Pour vous aider à visualiser le fonctionnement de stripos(), voici un exemple.
$first_string = "J'ai 10 ans de plus que toi."
$mot_cherché= "années"
$caractère = "je"
$targeted_substring = "10 ans"
Si (strpos ($first_String, $sought_word) !== false {
echo 'Ce mot " '.$mot_cherché.'" est dans la chaîne.';
}
(ceci vous indiquera que les "années" du monde peuvent être trouvées dans cette chaîne particulière)
if (stripos ($first_string, $character) !== false) {
echo 'Ce caractère “ '.$caractère.' “peut être trouvé dans cette chaîne particulière.';
}
(ces lignes vous diront que "je" peut être trouvé dans la chaîne donnée)
if (strpos ($first_string, $sous-chaîne ciblée) !== false {
echo 'La sous-chaîne ciblée " '.targeted_substring.'" peut être trouvée dans cette chaîne.
(ces lignes vous indiqueront que la sous-chaîne « 5 ans » se trouve dans la chaîne).
if (strpos($first_string, $character) != false) {
echo 'Ce caractère “ '.$caractère.' "apparaît dans cette chaîne."
} autre {
echo 'Ce caractère “ '.$caractère.' " n'apparaît pas dans cette chaîne.
(Ces lignes vous diront que le caractère "I" est introuvable dans cette chaîne particulière.)
- En relation: 5 meilleurs cours de développement Web en ligne gratuits
- 5 meilleurs endroits pour apprendre la conception Web
2.Regex pour une sous-chaîne dans une chaîne
Les expressions régulières alias Regex conviennent mieux à la recherche de modèles complexes dans une sous-chaîne donnée.
Voici un exemple de recherche de sous-chaînes à l'aide des fonctions définies dans l'exemple précédent.
$first_string = "J'ai 10 ans de plus que toi."
$mot_cherché= "années"
$caractère = "je"
$targeted_substring = "10 ans"
Si (preg_match('/years/', $first_string)) {
echo 'Le mot “ '.$mot_cherché.' “peut être trouvé dans cette chaîne.';
}
(indique à l'utilisateur que le mot "années" peut être trouvé dans cette chaîne)
si (preg_match('/I/', $first_string)) {
echo 'Le caractère "'.$caractère.; "apparaît dans cette chaîne." ;
}
(vous indique que "je" apparaît dans votre chaîne.)
Si (preg_match('/10 ans/', $first_string)) {
echo 'Cette sous-chaîne : '.$targeted_substring.' « s'affiche dans la chaîne fournie.
}
(vous indique que la sous-chaîne, définie comme "10 ans" apparaît dans votre chaîne déclarée).
3. Fonctions Strstr() pour trouver des sous-chaînes dans les chaînes
La fonction strstr () est assez polyvalente, ce qui signifie qu'elle peut être utilisée pour rechercher des sous-chaînes, des caractères et des mots dans une chaîne spécifique. Ce qu'il fait, c'est essentiellement renvoyer uniquement la partie qui contient la première chaîne, depuis la première occurrence de la sous-chaîne/du mot jusqu'à la fin. Voici un exemple pour vous aider à comprendre comment la fonction
œuvres.
$first_string = "J'ai 10 ans de plus que toi."
$mot_cherché= "années"
$caractère = "je"
$targeted_substring = "10 ans"
Si (strstr($first_string, $sought_word) !==false) {
echo 'Le mot " '.$mot_recherché.'"apparaît dans la chaîne.;
}
(vous indique que "années" apparaît dans la chaîne)
if (strstr($first_string, $character) !==false) {
echo 'Le caractère” '$caractère.'” apparaît dans la chaîne donnée.';
}
(dites à l'utilisateur que le caractère "I" apparaît dans la chaîne)
if (strstr($first_string, $targeted_substring) !==false) {
echo 'La sous-chaîne "'.$targeted_substring.; “ apparaît dans la chaîne.';
}
Conclusion
Voilà, les amis, trois façons simples de déterminer si la chaîne que vous testez a une sous-chaîne ou non. Encore une fois, soyez prudent avec les opérateurs et assurez-vous de tester votre chaîne en utilisant plusieurs méthodes pour éviter les résultats faussement positifs.
Si vous souhaitez apprendre PHP ou n'importe quelle langue, je vous suggère de suivre le cours en ligne sur l'une des meilleures plateformes d'apprentissage en ligne comme Udemy, qui vous propose tout type de cours à un prix très inférieur. Vous pouvez lire tous les détails sur Udemy. Vous pouvez également consulter notre page de coupons de réduction Udemy pour les dernières offres.
Si vous aimez ce tutoriel sur les méthodes pour vérifier que la chaîne PHP contient une autre chaîne, partagez-la. Vous voulez plus de conseils, veuillez suivre whatvwant sur Facebook, Twitter et YouTube.