guy68, nicodache, KneXos Le salon de discussion : magicrincevent, 1 utilisateur anonyme et 11 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] expressions régulières

n°5886
lvt
Powered by RedHat 9
Posté le 13-07-2005 à 09:20:42  profilanswer
 

Salut à tous,
 
J'ai besoin d'une fonction qui découpe une chaine de caractères après par exemple 3 ou 4 espaces et ne garde que le premier morceau.
 
Pourriez-vous m'indiquer comment le faire avec les expressions régulières ?
 
Merci d'avance  :jap:  
 
lvt


---------------
ça y est, c'est décidé je passe à Linux (RedHat 9 sinon rien ;) Ma collection personnelle de processeurs : 1 Intel 80386 DX 25 Mhz, 1 Pentium 120 Mhz, 1 Pentium 200 Mhz, 1 Celeron - 333 Mhz, 1 Pentium Mobile 150 Mhz with MMX, 1 AMD K6 - 166 Mhz, 1 AMD K6-
mood
Google
Posté le 13-07-2005 à 09:20:42  profilanswer
 

n°5887
nicodache
marmotte en chocolat concept ©
Posté le 13-07-2005 à 18:14:09  profilanswer
 

un exemple pour qu'on pige ce que tu veux ? ;)


---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°5888
lvt
Powered by RedHat 9
Posté le 13-07-2005 à 19:46:36  profilanswer
 

nicodache a écrit :

un exemple pour qu'on pige ce que tu veux ? ;)


 
Okay  :D  
 
voilà j'ai cette phrase :
 
"un exemple pour qu'on pige ce que tu veux"
 
je veux garder que ça :
 
"un exemple pour qu'on pige"
 
je pense à des expressions régulières car je pense que ça consome moins de resource que n'importe quel truc fait maison  :whistle:  
 
lvt
 
edit: surtout quand j'en ai besoin pour une boucle  :pt1cable:


Message édité par lvt le 13-07-2005 à 19:47:54

---------------
ça y est, c'est décidé je passe à Linux (RedHat 9 sinon rien ;) Ma collection personnelle de processeurs : 1 Intel 80386 DX 25 Mhz, 1 Pentium 120 Mhz, 1 Pentium 200 Mhz, 1 Celeron - 333 Mhz, 1 Pentium Mobile 150 Mhz with MMX, 1 AMD K6 - 166 Mhz, 1 AMD K6-
n°5890
nicodache
marmotte en chocolat concept ©
Posté le 13-07-2005 à 20:52:10  profilanswer
 

et faut faire quoi si ya moins de 4 tokens ?
 
(genre "putain de phrase" ?)


---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°5892
nicodache
marmotte en chocolat concept ©
Posté le 13-07-2005 à 20:57:47  profilanswer
 

si t'es sur d'avoir au moins 4 tokens, essaie ceci :
 

Code :
  1. // mettre dans les variables un, deux, trois, et quatre, les 4 premiers champs issus du split de la string $chaine avec l'espace comme caractère de séparation...
  2. $un, $deux, $trois, $quatre = split(" ", $chaine, 4);


Message édité par nicodache le 13-07-2005 à 20:58:15

---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°5893
lvt
Powered by RedHat 9
Posté le 13-07-2005 à 21:00:55  profilanswer
 

OK, c'est pas une ER, mais c'est quand meme une bonne idée, je vais essayer.
 
Merci nico
 
lvt


---------------
ça y est, c'est décidé je passe à Linux (RedHat 9 sinon rien ;) Ma collection personnelle de processeurs : 1 Intel 80386 DX 25 Mhz, 1 Pentium 120 Mhz, 1 Pentium 200 Mhz, 1 Celeron - 333 Mhz, 1 Pentium Mobile 150 Mhz with MMX, 1 AMD K6 - 166 Mhz, 1 AMD K6-
n°5894
nicodache
marmotte en chocolat concept ©
Posté le 13-07-2005 à 21:01:53  profilanswer
 

tu peux aussi voir du coté de preg_split
 
et si tu veux un comportement pas standard si t'as une erreur, faudra plutot regarder du coté d'un while avec strtok ;)


---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°5932
KnX
To be or not to code.
Posté le 22-07-2005 à 16:25:34  profilanswer
 

s/(([^ ]+ ){5}).*/\1/

n°5933
nicodache
marmotte en chocolat concept ©
Posté le 22-07-2005 à 17:25:33  profilanswer
 

tu pourrais pas expliquer ton truc qui pue la ?


---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°5934
bap2703
Posté le 22-07-2005 à 17:52:37  profilanswer
 

Ca ressemble à un login de squatteur debuguer sur un forum de Dr Lous ^^


Message édité par bap2703 le 22-07-2005 à 17:52:46
n°5935
Deadog
Dain Bramaged
Posté le 22-07-2005 à 18:07:50  profilanswer
 

nicodache a écrit :

tu pourrais pas expliquer ton truc qui pue la ?


 
 
c'est une expression régulière, c'est ce que demandait lvt :whistle:


Message édité par Deadog le 22-07-2005 à 18:08:02
n°5952
KnX
To be or not to code.
Posté le 25-07-2005 à 11:34:15  profilanswer
 

l'expression en elle même est (([^ ]+ ){5}).* ce qui signifie ((nimportequoi sauf un espace au moins une fois, puis un espace), ceci répété cinq fois), puis nimportequoi , les parenthèse les plus larges servant a faire référence au block de texte pour le remplacement.
\1 en php devient $1, au final ceci devrait marcher ( je fais pas de php, donc je pifométrise sur la doc .... ) :
preg_replace("(([^ ]+ ){5}).*","$1","Moi J'aime le Caca, et vous, vous en pensez quoi ?" );

n°5997
lvt
Powered by RedHat 9
Posté le 31-07-2005 à 13:22:30  profilanswer
 

KnX a écrit :

s/(([^ ]+ ){5}).*/\1/


 
 :D  
 
j'arrive pas à l'appliquer, mais maerci quand meme  :lol:  
 
lvt


---------------
ça y est, c'est décidé je passe à Linux (RedHat 9 sinon rien ;) Ma collection personnelle de processeurs : 1 Intel 80386 DX 25 Mhz, 1 Pentium 120 Mhz, 1 Pentium 200 Mhz, 1 Celeron - 333 Mhz, 1 Pentium Mobile 150 Mhz with MMX, 1 AMD K6 - 166 Mhz, 1 AMD K6-
n°5998
xstephx
Sarah!
Posté le 31-07-2005 à 20:26:52  profilanswer
 

l'expression en elle-meme n'inclus pas le s, ni les slashs. Pour voir la syntaxe exacte à utiliser, lis la doc de la fonctions ereg_replace ( www.php.net/manual/fr )


---------------
Gagnez un iPhone en jouant sur www.findupays.be
mood
Google
Posté le 31-07-2005 à 20:26:52  profilanswer
 


Aller à :
Ajouter une réponse
 

Hit Parade