Php verifier si chaîne contient sous-chaîne [Résolu/Fermé]

Signaler
Messages postés
38
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
30 août 2013
-
 samyb2313 -
Bonjour,

Je voudrais savoir comment vérifier si une chaine contient une autre chaîne.
J'ai essayé avec des fonctions PHP et les expressions rationnelles avec preg_match, mais ça ne marche pas (apparemment y a problème parce mes deux chaîne sont deux variables).
if ( fonction($var1,$var2)) {
}
=> l'utilisation des " et des ' ou non est parfois discutable dans mon code.
J'espère que je me suis fait clair, Merci d'avance.
Si on ment à un compilateur, il prendra sa revanche.
A voir également:

4 réponses

Messages postés
156
Date d'inscription
jeudi 3 janvier 2002
Statut
Membre
Dernière intervention
30 septembre 2010
22
Tu peux faire

if( strstr($chaine1, $chaine2)) {
//Code à exécuter si la sous-chaine chaine2 est trouvée dans chaine1
}

Par exemple.
45
Merci

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

CCM 78405 internautes nous ont dit merci ce mois-ci

aminovic41
Messages postés
38
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
30 août 2013
19
Oui merci Sushicat j'ai déja essayé avec strstr mais c'est bon j'ai trouvé la faute il s'agit d'une faute d'inattention dans la récupération du cookie.
Merci et désolé pour le dérangement.
Voila une solution faite a l'arrache !!!
Certainement a améliorer !!!
fonction($var1,$var2) 
{ 
    $est_present = false; 
    for ($i = 0;$i<strlen($var1);$i++) //parcour de toutes les caractere de la chaine 
    { 
        if ($var2[0] == $var1[$i]) //si le premier est identique, on test le reste 
        { 
              for ($j=0;$j<strlen($var2);$j++)//parcour de la deuxieme chaine 
              { 
                   $verif = true; 
                   $index = $j + $i; 
                   if ($var2[$j] != $var1[$index])  //a la moindre difference ce sera false 
                   { 
                          $verif = false; 
                   } 
              } 
              if ($verif) 
              { 
                    return true;  //si on le voit alors ok sinon on continu parcour de var1 
              } 
        } 

    } 
    return false; //si on l'a pas rencontrer on le dit !!! 
}  
aminovic41
Messages postés
38
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
30 août 2013
19
Merci à toi Samy +1 ;)
hantouva
Messages postés
6
Date d'inscription
lundi 28 juin 2010
Statut
Membre
Dernière intervention
29 octobre 2012

bonjour, voila je viens d'utiliser la fonction strstr pour tester si une chaine est sous chaine d'une autre mais le probleme c'est que la fonction fait la différence entre les chaines écrites en majuscules et minuscule par exemple

if (strstr($pat,'BASE'))

ici je récupère $pat d'une base de données et je vérifie si la chaine $pat contient la sous chaine 'base' , sur ma base des fois c'est écrit en majuscule et des fois en minuscule et donc je peux pas savoir comment le mot base est écrit ca dépend des cas
j aimerais savoir sil existe une fonction qui différencie pas la façon décrire juste teste les caractères
merci a vous
oui : stristr() , c'est la même chose que strstr, mais c'est insensible à la casse !
Hantouva : oui : stristr() , c'est la même chose que strstr, mais c'est insensible à la casse !
Bonjour j'ai un soucis avec la fonction strstr, j'ai une chaine de celle qui suit :
[NEVERWINTER] MONTAGE SUR LE VOLEUR FOURBE

Et je voudrais si savoir si elle contient [NEVERWINTER] le remplacer par une image.

j'ai essayé :

if(strstr($titre, "[NEVERWINTER]")){
		str_replace("[NEVERWINTER]","<img src='./images/logo-never.jpg' /> '",$titre);
}


Mais cela ne fonctionne pas. Des idées ?

Merci d'avance.
if(strstr($titre, "[NEVERWINTER]")){
str_replace("[NEVERWINTER]","<img src='./images/logo-never.jpg' /> '",$titre);
}

Il y a un guillmet de trop. Sinon ca doit marcher ! tu devrait avoir :
if(strstr($titre, "[NEVERWINTER]")){
str_replace("[NEVERWINTER]","<img src='./images/logo-never.jpg' /> ",$titre);
}
Et à la fin tu ecris

echo $titre