|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre chevronné
![]() ![]() Aurélien Développeur Web Inscription : avril 2006 Messages : 510 ![]() |
bonjour
les regex j'ai jamais réussi à comprendre, c'est pas faute d'avoir essayé je construis une requête dans une fonction cette requête peut (pas obligé) contenir : sous-traitant="nom du gars" dans une autre fonction plus loin, pour affichage, je voudrai extraire la valeur entre guillemets j'ai pondu ça mais ça ne marche pas (ça détecte comme il faut la présence ou non de la chaîne mais ça ne me renvoie pas la valeur) : Code :
preg_match("/(sous-traitant = \")?(\")/i", $criteria, $res) |
|
00
|
|
|
#2 |
|
Membre régulier
![]() |
C'est marrant mais tu as mis les parenthèses pile là où il faut pas (à part ça c'est presque bon)
Code :
preg_match("/sous-traitant = \"(.+)\"/i", $criteria, $res); Code :
preg_match("/sous-traitant\s*=\s*\"(.+)\"/i", $criteria, $res); |
|
|
00
|
|
|
#3 | ||
|
Membre chevronné
![]() ![]() Aurélien Développeur Web Inscription : avril 2006 Messages : 510 ![]() |
salut
merci pour ta réponse, ça marche déjà mieux que la mienne par contre j'ai quand même un soucis : si je prends par exemple Code :
$criteria = 'truc = "machin" et sous-traitant = "s t 1" et bidule = "chose"' Code :
y aurait-il moyen d'y remédier ? (sachant que le caractère " n'apparaîtra jamais dans le nom à extraire) merci encore d'avance |
||
|
00
|
|
|
#4 |
|
Membre régulier
![]() |
Ah... Alors essayes avec ça :
Code :
preg_match("@sous-traitant\s*=\s*\"([^\"]*)\"@i", $criteria, $res); |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com