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 :

Problème regex analyse d'URL


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Par défaut Problème regex analyse d'URL
    Bonjour,
    j'ai réalisé ces motifs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $routes['|^([a-z]{2})/(.+)/category/(.+)/([0-9]*)$|']='lang=$1&page=$2&cat=$3&p_num=$4';
     
    $routes['|^([a-z]{2})/(.+)/category/(.+)$|']='lang=$1&page=$2&cat=$3';
    la seule chose qui change est le /([0-9]*) à la fin...
    j'avais pensé à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $routes['|^([a-z]{2})/(.+)/category/(.[^/]+)/?([0-9]*)$|']='lang=$1&page=$2&cat=$3&p_num=$4';
    qui me permet de récupérer toutes les variables mais si l'élément apres /category/ contient des "/" ca ne le prend pas
    j'ai du remettre ma regexp en 2 partie du coup

    est il possible de rassembler ces motifs en un seul, car pout le moment si je ne met que:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $routes['|^([a-z]{2})/(.+)/category/(.+)/?([0-9]*)$|']='lang=$1&page=$2&cat=$3&p_num=$4';
    il ne me reconnait pas le dernier / et me met la valeur de p_num à l'intérieur de cat

    exemple :
    .../category/ma-categorie/ma-sous-categorie/4

    donne
    cat=/category/ma-categorie/ma-sous-categorie/4
    p_num=null

    avec les 2 regex séparé j'ai les bonnes valeurs en fonction du chemin mais l'idée est de le rassembler en une.

    merci d'avance

    Cédric

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '|^([a-z]{2})/(.+)/category/([^/]+)/?([0-9]*)$|'
    Te permet de matcher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    'en/page/category/titi/4'
    'en/page/category/titi'

  3. #3
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Citation Envoyé par Mr N. Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '|^([a-z]{2})/(.+)/category/([^/]+)/?([0-9]*)$|'
    Te permet de matcher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    'en/page/category/titi/4'
    'en/page/category/titi'
    J'apporterais une petite optimisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '#^([a-z]{2})/(.+)/category/([^/]+)(/[0-9]+)?$#'

  4. #4
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    sauf que le / est capturé et ça oblige ensuite à l'enlever en php...

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Par défaut
    Merci pour l'aide

    Citation Envoyé par s.n.a.f.u Voir le message
    J'apporterais une petite optimisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '#^([a-z]{2})/(.+)/category/([^/]+)(/[0-9]+)?$#'


    par contre j'ai besoin de pouvoir mettre des "/" dans la partie apres category
    hors en mettant ([^/]+) il ne me prendra pas les /

    en somme il faut que je puisse avoir les "/" apres /category/ et que le dernier paramettre soit reconu en tant que nombre

    merci d'avance

  6. #6
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Peux-tu donner des exemples concrets ?

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Par défaut
    désolé je mangeais...

    donc un exemple concret serait


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    fr/mapage/masouspage/sous...page/category/macategory/souscategory/sous...category/10
     
    on doit recevoir:
    lang=fr
    page=mapage/masouspage/sous...page
    cat=macategory/souscategory/sous...category
    p_num=10
     
     sachant que le parametre p_num est optionnel et que ce chemin peut etre :
     
     
    fr/mapage/masouspage/sous...page/category/macategory/souscategory/sous...category
    et renvoi les mêmes données

    merci

Discussions similaires

  1. [URL rewriting] Problème regex
    Par Antho1364 dans le forum Apache
    Réponses: 1
    Dernier message: 10/07/2013, 14h06
  2. [RegEx] Problème regex url cliquable
    Par dorian53 dans le forum Langage
    Réponses: 5
    Dernier message: 16/11/2006, 19h17
  3. [FLASH MX2004] Problème de lien get url
    Par condorbleu777 dans le forum Dynamique
    Réponses: 5
    Dernier message: 24/04/2006, 20h48
  4. [RegEx] Problème pour transformer les url en liens cliquable
    Par AlphaYoDa dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2006, 13h54
  5. [Flash MX] Problème d'ouverture d'URL
    Par n_tony dans le forum Flash
    Réponses: 2
    Dernier message: 07/04/2004, 16h13

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