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 :

Expression rationnelle : alphanumérique + espace [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 640
    Points : 408
    Points
    408
    Par défaut Expression rationnelle : alphanumérique + espace
    Bonjour,

    Dans une application, j'utilise FastRoute. Les routes sont définies à l'aide d'expressions rationnelles.

    J'ai une route de la forme : mais je voudrais pouvoir accepter les espaces dans le tag.
    Je n'arrive pas à modifier l'expression pour accepter les espaces. J'ai essayer ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'blog/tags/{tag:[\w\s]+}'
    sans résultat.
    Source
    Pouvez-vous m'aider SVP ?

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 905
    Points : 6 694
    Points
    6 694
    Par défaut
    Une URL n'est pas censée contenir d'espaces ou alors encodés sous la forme %20. Il est donc inutile de te batailler avec la classe \s, autorise %20.

  3. #3
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 640
    Points : 408
    Points
    408
    Par défaut
    Merci pour ta réponse.

    L'URL est à présent encodée avec rawurlencode.
    Mais ça ne fonctionne toujours pas avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'blog/tags/{tag:[\w%20]+}'
    (ex. : blog/tags/Gesti%C3%B3n%20de%20proyectos)

  4. #4
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 793
    Points : 3 064
    Points
    3 064
    Par défaut
    Hello

    La regex semble fonctionner : https://regex101.com/r/E0UB7h/1

    Peut-être s'assurer que ta syntaxe est bien correcte selon la doc de FastRoute que tu utilises. Est-ce bien documenté de la façon dont tu l'utilises ? Je ne vois pas d'exemple avec un soit soit (soit une lettre soit un espace) du coup je me demande si la syntaxe avec les crochets est bien gérée par FastRoute...

  5. #5
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 640
    Points : 408
    Points
    408
    Par défaut
    Bonjour,

    La syntaxe est la bonne. En fait j'applique toujours rawurldecode avant le routage avec FastRoute. Donc ma route transmise à FastRoute contient des espaces et non %20. Je viens de constater que le problème n'avait rien à voir avec l'espace mais avec un caractère accentué espagnol ó qui n'était pas accepté dans l'expression (\w n'accepte pas les caractères accentués espagnols). Il m'a suffit d'ajouter ó dans l'expression pour que ça fonctionne...

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

Discussions similaires

  1. [RegEx] Expression rationnelle avec accents, espace et apostrophe.
    Par psychoBob dans le forum Langage
    Réponses: 12
    Dernier message: 24/04/2006, 15h21
  2. Non ambiguïté d'expressions rationnelles
    Par David.Schris dans le forum Algorithmes et structures de données
    Réponses: 22
    Dernier message: 27/12/2005, 16h11
  3. [RegEx] Images et expression rationnelle
    Par Invité dans le forum Langage
    Réponses: 7
    Dernier message: 30/10/2005, 15h50
  4. Réponses: 2
    Dernier message: 21/02/2005, 10h42
  5. [langage] Expressions rationnelles (perl/C)
    Par ma2th dans le forum Langage
    Réponses: 11
    Dernier message: 02/08/2004, 18h07

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