Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 03-08-2008 17:00:06

Paulop
Membre
Date d'inscription: 20-03-2008
Messages: 15

[Les Routes Regex] Impossible d'utiliser le signe +

Salut

Je ne sais pas pourquoi, j'ai beau tout essayer, je n'arrive pas à utiliser des routes avec le signe + dedans.
Voici un exemple :

Code:

$fichesRegexRoute = new Zend_Controller_Router_Route_Regex(
    "fiches/(\d+)\+(.+)",
    array(  "controller"=>"fiches",
            "action"=>"fiche",
            "nom"=>"Madonna"            
    ),
    array(
        1 => 'id',
        2 => 'nom'
    ),
    'fiches/%d+%s'
);

J'ai bien échapé le plus, mon url se présente de cette forme fiches/150+Justice mais il ne me route pas et me renvoie une erreur 404.

J'ai bien essayé avec d'autres signes pour voir, et = passe par exemple...
Si vous avez une idée je prend smile

Hors ligne

 

#2 03-08-2008 17:45:42

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Les Routes Regex] Impossible d'utiliser le signe +

Je dirais que c'est un problème de http avec le "+" qui est transformé en espace. Si tu veux que PHP recoive bien un "+", il faudrait utiliser le %xx qui va bien.

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#3 03-08-2008 18:08:57

Paulop
Membre
Date d'inscription: 20-03-2008
Messages: 15

Re: [Les Routes Regex] Impossible d'utiliser le signe +

Hum pas moyen de trouver le %xx qui va bien, une idée de ce que c'est ?

Hors ligne

 

#4 03-08-2008 20:55:48

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Les Routes Regex] Impossible d'utiliser le signe +

Tu peux le retrouver :
<?php echo rawurlencode("+"); ?>
=> %2B
ton url devient : fiches/150%2BJustice

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#5 04-02-2010 17:24:46

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Les Routes Regex] Impossible d'utiliser le signe +

Neojick viens de me demander la réponse à ce problème, donc pour avoir un +, qui comme vous l'avez dit devient un espace, il faut mettre un espace dans la regex et un + dans la reverse. Pour moi ça à marché smile

La remarque, c'est que quand le ZF parse la regex, Apache a déjà tranformé le + en espace !

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages