regexp récupérer et construire.

Defacta
Invité n'ayant pas de compte PHPfrance

07 sept. 2010, 19:06

Salut,

Dans le résultat d'une requête MySQL j'ai un tableau qui ressemble à ceci:

Code : Tout sélectionner

$tab[0] = "background-image: url(bg_page-24.jpg); background-position: left top; background-color: #b5b5b5" ; $tab[1] = "background-image: url(bg_page-8.jpg)" ; etc...
Comment je peux récupérer ce qu'il y a entre parenthèses, "bg_page-8.jpg" par exemple et aussi avoir "bg_page-8-small.jpg" sachant que toutes les images ont un nom formaté comme ceci.

Merci,
Vincent.

ViPHP
ViPHP | 5462 Messages

07 sept. 2010, 19:33

je dirais comme ca
\(bg_page-\d+\.jpg\)

Mammouth du PHP | 19672 Messages

07 sept. 2010, 21:43

Pour ma part, je ferais ceci :

Code : Tout sélectionner

"#[^\(]+\(([^\)]+).*#"
Traduit, ça donne :
- [^\(]+\( => Tout ce qui n'est pas une parenthèse ouvrante (première paire de crochets) et la parenthèse échappée;
- ( => Parenthèse capturante ouvrante;
- [^\)]+ => Tout ce qui n'est pas une parenthèse fermante;
- ) => Parenthèse capturante fermante;
- .* => Tout le reste.
Modifié en dernier par Cyrano le 07 sept. 2010, 21:51, modifié 1 fois.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
ViPHP | 5462 Messages

07 sept. 2010, 21:51

[\(] t'a oublié le ^

Mammouth du PHP | 19672 Messages

07 sept. 2010, 21:52

[\(] t'a oublié le ^
Exact, corrigé, merci :)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: