|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2003 Messages : 19 ![]() |
bonjour
J'ai une commande qui n'autorise que les chifre, les letres et le caractaires "._#/". la voici : Code :
$nav = eregi_replace('[^a-z0-9._#/]', '', $_GET['nav']); Comment faire ? |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
je dirai qu'il suffit que tu rajoutes les deux nouveaux caractères dans ton pattern non?
Code :
$nav = eregi_replace('[^a-z0-9._#/+-]', '', $_GET['nav']); |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2003 Messages : 19 ![]() |
ben oui, c'est ce que j'ai pensé aussi... sauf que non, ça ne marche pas !!!
(enfin pour le "-" si mais pas pour le "+") |
|
|
00
|
|
|
#4 |
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Un + dans une url correspond à un espace.
|
|
|
00
|
|
|
#5 | |
|
Invité de passage
![]() Inscription : avril 2003 Messages : 19 ![]() |
Citation:
|
|
|
|
00
|
|
|
#6 |
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Pourquoi hum ?
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : avril 2003 Messages : 19 ![]() |
Je n'ai pas compris le sens de ta réponse !
|
|
|
00
|
|
|
#8 |
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Quand tu as des + dans une valeur GET d'une url le + est un espace.
Dans http://www.site.org?nav=10+20 Un echo de $_GET['nav'] donnera "10 20" et pas "10+20" |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : avril 2003 Messages : 19 ![]() |
Arg !!!
Plus de la boitier des fichiers que je doit traiter on un signe "+". Ya une astuce ? Des apostrophe ? simple ? double ? |
|
|
00
|
|
|
#10 |
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Un urlencode avant de passer ta valeur en GET devrait faire l'affaire.
Un urldecode pour la récupérer ensuite. |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : avril 2003 Messages : 19 ![]() |
vue... je vais cresser aussi par là...
question subsidiaire : comment isolerais tu la chaine qi se trouve entre la chaine "nav=" et le premier "&" suivant (s'il y en a un) dans cette chaine la : "...&nav=niv+1.dwg&co=..." |
|
|
00
|
|
|
#12 | ||
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Je dirais avec une regex
Code :
|
||
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : avril 2003 Messages : 19 ![]() |
si mon url est :
http://localhost/trans_plan/?nav=AFF1 ce code : preg_match('#(?=<nav=)[^&]+#', $_SERVER['QUERY_STRING'], $f); $nav=$f[0]; me retourne l'erreur : Notice: Undefined offset: 0 in ...\requette.php on line 13 |
|
|
00
|
|
|
#14 |
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Ah oui, j'ai inversé le < et le =
Code :
preg_match('#(?<=nav=)[^&]+#', $_SERVER['QUERY_STRING'], $f); |
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : avril 2003 Messages : 19 ![]() |
Je n'aurais que deux mot pour décrire l'aide que tu m'as apporter :
GE NIAL l Merci pour ta patience ! Maintenant ca marche ! Bonne soirée (moi je vais mieu dormir !) LEIôPAR |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com