IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comment contrôler si un texte est contenu dans un mot [RegEx]


Sujet :

Langage PHP

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut Comment contrôler si un texte est contenu dans un mot
    Bonjour,

    Je ce string

    basket/index
    et encore d'autre comme
    baskets/admin_index ou
    conatcts/member_index...

    J'aimerais filtrer tous ces différent string de maniere a ce qu'il m'affiche uniquement ceux qui se termine par
    /index
    Donc, sachant que $ est pour déterminer la fin d'un string j'ai pensé que ma regex appropriée est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (preg_match("[a-zA-Z]\/index$",$k,$matches)) {
                  }
    Donc la dessus, j'ai essaye de filtrer tous les tring qui commence par n'importe quel caractere et qui fini par /index.

    J'ai aussi mis un \ pour échapé le /

    Evidemment, ca ne marche pas et je pense avoir une erreur vers le .[\/

    N'es-ce pas?
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ca, ça veut dire que tu cherches soit /, soit i, soit n, soit d, soit e, soit x, mais en aucune façon la chaine /index...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre actif Avatar de stephanegib2
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 152
    Points : 233
    Points
    233
    Par défaut
    Si tu veux juste savoir si il y a '/index' à la fin, tu peux faire sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $k = "contacts/index"; 
    preg_match("/\/index$/",$k,$matches); 
    var_dump($matches);

  4. #4
    Membre habitué Avatar de denissay
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 103
    Points : 125
    Points
    125
    Par défaut
    Tu n'as qu'à utiliser tous simplement
    \/index$
    Une réponse utile vous a aidé ? N'oubliez pas le
    Votre problème est résolu ? N'oubliez pas le

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Ben je vois l'erreur que j'ai faite mais ca ne marche toujours pas

    Voici mes essay

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (preg_match("/\/index$/",$k,$matches)) {
    if (preg_match("/^[aZ]/\/index$/",$k,$matches)) {
    if (preg_match("/\/index$/",$k,$matches)) {
    if (preg_match("/^[a-zA-Z]\/index$/",$k,$matches)) {
    if (preg_match("/^\/index$/",$k,$matches)) {
    Le deux dernier me retourne pas de message d'erreur comme les premiers, sauf qu'il me retourne aucun résultat

    Voici le code exact (j'aurais pu le donner plus tôt , sorry)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $perm=array(
    'Users/register' => true,
    'Supports/index'=> true,
    'Baskets/index' => true
    );
    foreach($perm as $k => $v){
     
                   if (preg_match("/\/index$/",$k,$matches)) {
                    echo $matches;
                  }
                }
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Tu devrais te renseigner sur :
    • la différence entre une classe et un groupe ;
    • la notion de range dans une classe ;
    • les quantificateurs.


    Normalement, avec tout ça, tu as de quoi comprendre tes erreurs et les corriger.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Ok l'erreur était bete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
              foreach($perm as $k => $v){
     
     
                   if (preg_match("/\/index$/",$k,$matches)) {
                    echo $k.'<br>';
                  #echo $matches
                  }
                }
    $matches est un array (donc pas d' echo) et j'en pas besoin.
    echo $k me retourne ce que je souhaite.
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment vérifier si une variable est contenu dans un tableau ?
    Par larffas68 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 05/01/2011, 23h17
  2. [PHP 5.3] Comment controler si un texte est dans un tableau
    Par pierrot10 dans le forum Langage
    Réponses: 4
    Dernier message: 07/03/2010, 21h16
  3. Réponses: 18
    Dernier message: 03/06/2008, 15h18
  4. Réponses: 11
    Dernier message: 16/12/2007, 16h33
  5. Réponses: 1
    Dernier message: 22/05/2006, 07h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo