Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
820 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  aide REGEX

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

aide REGEX

n°1046180
freed102
Arayashiki
Posté le 13-04-2005 à 17:02:40  profilanswer
 

petite question en regex.. (parceque j'ai pas encore bien capté comment ça marche)
 
je voudrais faire un rechercher remplacer dans tout mon code de  
 
$_GET['xxx']
 
en  
 
$xxx
 
 
... je suppose qu'il faut faire un masque... mais je sais pas trop comment m'y prendre ! :-/
 
j'ai commencé par  
 
$_GET\w*(\w*)']\w*
 
... mais je crois pas que ça marche !... normal ! j'ai encore rien capté ! lol

mood
Publicité
Posté le 13-04-2005 à 17:02:40  profilanswer
 

n°1046184
FlorentG
Unité de Masse
Posté le 13-04-2005 à 17:03:17  profilanswer
 

Pourquoi veut-tu faire ça ? Sinon Edition\Remplacer, c'est pareil

n°1046202
freed102
Arayashiki
Posté le 13-04-2005 à 17:07:41  profilanswer
 

bah justement.. ya une option "utiliser les expressions régulieres"
 
... et là je veux changer que les $_GET en $... et les '] en "rien"... pour la premiere option c facile.. pour la deuxieme il va me changer tous les tableaux et sessions!!!

n°1046203
soju
One shot !
Posté le 13-04-2005 à 17:08:29  profilanswer
 

\$_GET\['([^']*)'\]


 
EDIT: dans replace tu met

$\1


Message édité par soju le 13-04-2005 à 17:09:14
n°1046205
GaSPaRD77
Posté le 13-04-2005 à 17:08:57  profilanswer
 

freed102 a écrit :

petite question en regex.. (parceque j'ai pas encore bien capté comment ça marche)
 
je voudrais faire un rechercher remplacer dans tout mon code de  
 
$_GET['xxx']
 
en  
 
$xxx
 
 
... je suppose qu'il faut faire un masque... mais je sais pas trop comment m'y prendre ! :-/
 
j'ai commencé par  
 
$_GET\w*(\w*)']\w*
 
... mais je crois pas que ça marche !... normal ! j'ai encore rien capté ! lol


 
 

Code :
  1. preg_replace("/^\$_GET\[\"/", "\$", $ton_texte) ;
  2. preg_replace("/\"\]$", "", $ton_texte) ;


Message édité par GaSPaRD77 le 13-04-2005 à 17:10:57
n°1046214
soju
One shot !
Posté le 13-04-2005 à 17:10:45  profilanswer
 

GaSPaRD77 a écrit :

Code :
  1. preg_replace("/\"\]$", $ton_texte) ;



vaut mieux eviter, ca va remplacer tous les '] et ils ne font pas forcement partie d'un $_GET['xxx']

n°1046216
GaSPaRD77
Posté le 13-04-2005 à 17:11:23  profilanswer
 

Ouais mais il le fait que pour le $_GET["..."]

n°1046227
freed102
Arayashiki
Posté le 13-04-2005 à 17:13:59  profilanswer
 

soju a écrit :

\$_GET\['([^']*)'\]


 
EDIT: dans replace tu met

$\1



 
yess !! thx !!! :jap: :jap: :jap:
 
c exactement ce que je voulais faire !!!
 
sauf que dans le soft que j'utilise (celui que tout le monde deteste) dans le champ replace c'est : $$1
 

Citation :


Remarque : Dans la zone de texte Rechercher, faites référence au groupe entre parenthèses mentionné plus tôt dans l’expression régulière en indiquant \1, \2, \3 etc. au lieu de $1, $2, $3.
 
Par exemple, la recherche de (\d+)\/(\d+)\/(\d+) et le remplacement par $2/$1/$3 échangent le jour et le mois dans une date séparée par des barres obliques permettant ainsi la conversion entre les dates de style américain et les dates de style européen.
 


 
c quand même DEMENT les regex !!! faut vraiment que je maitrise ce truc !


Message édité par freed102 le 13-04-2005 à 17:17:34
n°1046234
freed102
Arayashiki
Posté le 13-04-2005 à 17:15:44  profilanswer
 

et hop !! en deux secondes mon code est corrigé !! c top ! (à la main j'y aurais passé 3 jours !!!) :lol:

n°1046241
soju
One shot !
Posté le 13-04-2005 à 17:19:24  profilanswer
 

freed102 a écrit :

et hop !! en deux secondes mon code est corrigé !! c top ! (à la main j'y aurais passé 3 jours !!!) :lol:

hehe, je m'en sers pratiquement tous les jours des regex dans mon editeur, c'est clair que c'est un outil qu'il faut maitriser

mood
Publicité
Posté le 13-04-2005 à 17:19:24  profilanswer
 

n°1046244
freed102
Arayashiki
Posté le 13-04-2005 à 17:20:22  profilanswer
 

surtout que ça a l'air d'etre "universel"

n°1048473
Snoopy71
Posté le 15-04-2005 à 11:20:28  profilanswer
 

Sinon, sans regex mais pour faire la même chose :
 

Code :
  1. if(is_array($_GET))
  2. foreach ( $_GET as $gkey => $gval){
  3. $$gkey = urldecode($gval);
  4. }


 
 :jap:


Message édité par Snoopy71 le 15-04-2005 à 11:20:51
n°1048478
masklinn
í dag viðrar vel til loftárása
Posté le 15-04-2005 à 11:22:57  profilanswer
 

freed102 a écrit :

surtout que ça a l'air d'etre "universel"


non, il y a 2 ou 3 implémentations légèrement différentes des regexps (compare une regexp d'un prog PHP et une regexp d'un prog Python, tu vas vite comprendre)
 
Résummé des principaux standards de regexps
Le standard de base est POSIX, la version la plus puissante et riche ce sont les regexps Perl (en partie reprises par Python, qui implémente en bonus du symbolic grouping, ce qui rox violement [:thierry3]
 
edit: Python Regex Howto


Message édité par masklinn le 15-04-2005 à 11:31:21

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1048514
freed102
Arayashiki
Posté le 15-04-2005 à 11:49:35  profilanswer
 

ouai c super compliqué les regex ! :lol: ! faut que je m'y remette serieusement !

n°1048518
masklinn
í dag viðrar vel til loftárása
Posté le 15-04-2005 à 11:53:29  profilanswer
 

C'est pas spécialement compliqué dans le principe, mais c'est complètment imbitable quand tu les lis [:sisicaivrai]
 
Si tu comptes faire des regexp Perl/Python, va voir du côté de Kodos, c'est un débugger Python.re très très bien fait (il est probablement utilisable avec les autres versions des res au prix d'un petit travail de traduction)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1048590
freed102
Arayashiki
Posté le 15-04-2005 à 12:52:58  profilanswer
 

bah moi les regex je vais les utiliser avec PHP/MySQL, actionscript (peut etre), javascript... donc je sais pas lesquels me seront nécéssaires... celles de Perl non ?

n°1048681
masklinn
í dag viðrar vel til loftárása
Posté le 15-04-2005 à 14:20:46  profilanswer
 

nah, il me semble que PHP et JS utilisent des regexp POSIX, beaucoup moins complexes et complètes que celles de Perl ou Python (celles de Python sont issues de celles de Perl, à l'origine Python avait un module "regexp" en Posix mais il a été foutu à la poubelle avec la sortie du module "re" Perl-style)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1048755
freed102
Arayashiki
Posté le 15-04-2005 à 15:08:59  profilanswer
 

youpi ! j'ai fait ma premiere regex !
 
\$([^_SESSION*][^_POST*][^_GET*]\w*)
 
en traduction : trouve toutes les mots qui commencent par $, en evitant les $_POST $_GET et $_SESSION
 
... ça bien ça ?

n°1048778
freed102
Arayashiki
Posté le 15-04-2005 à 15:18:33  profilanswer
 

... et si je veux qu'il evite aussi les : $var['array']?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  aide REGEX

 

Sujets relatifs
[Blog] Script et aide pour un "nul"...Aide sur le développement!!!(PaintPicture)
aide programmationVraiment besoin d'aide SVP :') !!!! Récupérer vidéo JT
Besoin d'aide pour mettre en ligne bcp de texteaide pour modif de code
[CSS] Menu déroulant --> aide please![ VB.net ] besoin d'aide pour créer une dll
[PHP] aide sur une regexregex besoin d'aide :-(
Plus de sujets relatifs à : aide REGEX


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR