Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/04/2007, 15h59   #1
Membre confirmé
 
Inscription : mai 2002
Messages : 543
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 543
Points : 238
Points : 238
Par défaut Transformer une chaîne

Bonjour,

J'aimerai transformer une chaîne de la forme "clé1=valeur1 + clé2=valeur" en tableau associatif. Est-ce possible avec la fonction preg_split, comment ?
Neuromancien2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 16h58   #2
Membre chevronné
 
Avatar de nako
 
Ingénieur développement logiciels
Inscription : août 2003
Messages : 581
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : août 2003
Messages : 581
Points : 635
Points : 635
Salut,
si je devais le faire, j'utiliserai peut-être la fonction explode (sur " + ").
Puis ensuite, encore explode (sur "=").
Maintenant, il y a plusieurs manières de faire ...
Tu as toujours la même structure de chaine ? Seulement deux élements cle/valeur, ou potentiellement plus ?
a+
nako est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 17h59   #3
Membre confirmé
 
Inscription : mai 2002
Messages : 543
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 543
Points : 238
Points : 238
Citation:
Envoyé par nako
Salut,
si je devais le faire, j'utiliserai peut-être la fonction explode (sur " + ").
Puis ensuite, encore explode (sur "=").
Je pense que je vais faire ça.
Neuromancien2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 18h27   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Si le format est aussi simple que l'exemple que vous avez fourni vous pourriez très bien vous en sortir avec une expression régulière de ce style :
Code :
1
2
3
4
5
6
7
8
9
<?php
$string = "clé1=valeur1 + clé2=valeur + bébé=(true)";
preg_match_all('/([^\s]+)=([^\s]+?)/Us', $string , $m, PREG_SET_ORDER);
$parametres = array();
foreach ($m as $p) {
    $parametres[$p[1]] = $p[2];
}
print_r($parametres);
?>
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h39.


 
 
 
 
Partenaires

Hébergement Web