Bonjour!
Je cherche depuis un moment un moyen de faire une expression régulière pour résoudre ce genre de cas:
Code PHP :
du texte divers {une_string un_param="une valeur" un_autre="12"} et le texte qui continue, avec éventuellement un autre {autre} sans paramètres.
L'idée étant d'extraire chaque
{xxx accompagnés de leur
xxx=xxx autant de fois qu'il y en a.
Et... ben c'est pas évident
Voilà ce que j'ai pu faire jusqu'à présent:
Code PHP :
$content = "Voir l'exemple ci-dessus";
$reg = "/(\{|%7B)(\w*)( (\w*)=(\w*))*(\}|\%7D)/i";
preg_match_all($reg, $content, $matches, PREG_SET_ORDER);
if ($matches) {
foreach ($matches as $match) {
// récupération du nom de la variable
$index_name = $match[2];
// récupération de la paire clé=valeur
$index_params = array($match[4] => $match[5]);
// on fait ensuite du code métier divers
...
}
}
ça fonctionne bien, sauf que je n'arrive pas à récupérer toutes les pairs clé/valeur. Est-ce possible en une seule expression?
Merci d'avance!
rekam