Demande d'aide pour expression régulière et preg_match_all

WRInaute impliqué
Bonjour,

J'essaie désespérément d'extraire des valeurs d'une chaine avec preg_match_all et une expression régulière mais je n'y arrive pas... Si une âme de bonne volonté veut bien m'aider...

EXEMPLE DE CHAINE :
Code:
$chaine=" balblabla mafonction('valeur 1 avec possibilité de d'apostrophe', 'valeur 2', 'valeur 3') blabla mafonction('valeur 1b', 'valeur2b', 'valeur3b') blabla ...

J'ai essayé avec
Code:
preg_match_all("|mafonction\('(.*)', '(.*)', '(.*)'\)|U", $chaine,$tab);

mais ça marche pas :(...

Merci d'avance !
 
WRInaute impliqué
Oui, c'est ça, pardon, je ne suis pas allé au bout de ma question : je souhaites en effet extraire les différentes valeurs : valeur1, valeur1b, valeur1c,..., valeur2, valeur2b, ... et valeur3, valeur3b, valeur3c, etc
 
WRInaute impliqué
ben bon courage, je suis super nul en expression régulières :mrgreen:




...

je rigole (à peine) je vais regarder ce que j'ai sous la main, j'ai déja fais un truc dans le genre
 
WRInaute impliqué
Il semblerait tout de même que mon expression soit correcte... et ce que je n'arrives donc pas à faire, c'est récupérer les valeurs extraites :oops:
 
WRInaute impliqué
pour tout te dire j'aurais fait comme toi, aprés pour les récuperer...

Code:
	$resultats = array();
	$match_count = preg_match_all("#mafonction\('(.*)', '(.*)', '(.*)'\)#is", $chaine, $matches);
	for ( $i=0; $i<$match_count; $i++ ) {
		$resultats[$i] = array($matches[1][$i], $matches[2][$i], $matches[3][$i]);
		}
	print_r($resultats);

ca donnerait quoi ca ?
 
WRInaute impliqué
Merci,

c'est bon, un simple

Code:
foreach ($tab as $ligne)
{
	echo "<br />". $ligne[1]. "**".$ligne[2]."**".$ligne[3]; 
}

suffit ! :)
 
Discussions similaires
Haut