[PHP] Rechercher une chaine dans une chaine

Résolu/Fermé
Signaler
Messages postés
6554
Date d'inscription
vendredi 28 décembre 2007
Statut
Contributeur
Dernière intervention
27 juin 2021
-
 Mahmoud -
Salut !

Je voulais juste connaître si une fonction existait pour savoir si une chaîne se trouve dans une autre.

En fait, je voudrais l'équivalent en PHP de ce code Python :

string = "Je suis la chaine."
seek_string = "chaine"

if str(seek_string) in str(string):
    # Instructions ...


J'ai cherché sur internet et j'ai pas trouvé l'exemple voulu.
Donc si quelqu'un a la solution ici alors qu'il n'hésite pas à la partager ;)

Merci d'avance.
A voir également:

3 réponses

ça existe et ça s'appelle les regex : regarde du coté de preg_match et compagnie, pour voir plus de detais sur ces fonctions : http://php.net/manual/fr/function.preg-match.php
sinon pour ton cas un petit exemple pour commencer:
<?php
$_string = "ma superbe chaine de caractere";
$_request = "superbe";
if(preg_match('#'.$_request.'#', $_string)){
   /* mon code */
}else{
   /* autre code */
}
?>
6
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
6554
Date d'inscription
vendredi 28 décembre 2007
Statut
Contributeur
Dernière intervention
27 juin 2021
446
J'aurais réservé preg_match() pour des types de recherches plus compliquées.
D'ailleurs, il est écrit sur la page en question :

N'utilisez pas preg_match() si vous voulez uniquement savoir si une chaîne est contenue dans une autre. Utilisez dans ce cas les fonctions strpos() ou strstr(), qui sont beaucoup plus rapides. 


Du coup la solution est toute trouvée.

Merci beaucoup de m'avoir orienté ! ;)
Bonne soirée !
Messages postés
7716
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
1 103
pourquoi s'embêter alors qu'il y a une fonction toute faite ? ;)

substr_count() :)

ça te donne le nombre d'occurrences de ta chaine dans la première :)
Salut,

string strpbrk ( string $haystack , string $char_list )

strpbrk() recherche l'ensemble de caractères char_list dans la chaîne haystack.

Pour plus d'infos : http://php.net/manual/fr/book.strings.php