[PHP] Rechercher une chaine dans une chaine

Résolu/Fermé
Utilisateur anonyme - 30 mai 2011 à 21:00
 Mahmoud - 31 mai 2011 à 00:52
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.

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
Utilisateur anonyme
30 mai 2011 à 22:57
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 !
0