recherche script ... urgent!

recherche script ... urgent! - PHP - Programmation

Marsh Posté le 03-03-2007 à 17:27:56    

Bonjour tou le monde,
 
 
Je suis à la recherche d'un script me permettant d'extraire une chaine de caractère d'une variable.
 
exemple:
 
jai la variable suivante:
 

$données = "<nom:dupont><prenom:marcel>";


 
je veux séparer cette variable en deux variables :
 

$donnée_1 = "<nom:dupont>";
$donnée_2 = "<prenom:marcel>";


 
 
Je me suis donc renseigné et j'ai trouver ce script me permettant de le faire avec cette variable :  "nom=dupont>prenom=marcel"

<?php
$fichier_low = "nom=dupont>prenom=marcel";
$balises = spliti (">", $fichier_low);
print_r($balises);
?>  


 
 

MAIS MOIS JE NE VEUX PAS CETTE VARIABLE!!!  JE VEUX CELLE CI --->
"<nom=dupont><prenom=marcel>"

 

<?php
$fichier_low = "<nom=dupont><prenom=marcel>";
$balises = spliti (">", $fichier_low);
print_r($balises);
?>  


CE SCRIPT NE MARCHE PAS DES QUE L'on Ajoute dans la VARIABLE le caractère  "<"
 

POUVEZ VOUS M AIDEZ???
:??:  
 
merci d'avance


Message édité par mcrockman le 03-03-2007 à 17:29:28
Reply

Marsh Posté le 03-03-2007 à 17:27:56   

Reply

Marsh Posté le 03-03-2007 à 23:28:57    

Bonsoir Mcrockman,
 
Voici une proposition pour résoudre ton problème.
 
A +
 


 
<?PHP
 
/*
De tes données d'origines on vas essayer d'en faire un tableau :
*/
 
$tes_donnees = "<nom:dupont><prenom:marcel>";
// On remplace le '><' par un ";" façon csv
$tes_donnees = str_replace ( '><', ';', $tes_donnees );
// On supprime les "<"
$tes_donnees = str_replace ( '<', '', $tes_donnees );
// On supprime aussi les ">"
$tes_donnees = str_replace ( '>', '', $tes_donnees );
// On choisi le ';' pour séparer tes données en un tableau
$tes_donnees = split ( ';', $tes_donnees );
 
// En sortie ça devrait nous donner ça
print_r ($tes_donnees);
Echo '<br>';
 
/*  
Mais ce n'est pas très fun.
ça serait quand même plus sympa d'avoir un truc du genre
Array ( [0] => ([nom] => dupont [prenom] => marcel)  
*/
 
Echo '<br>';
 
/*
Pour que ça soit plus présentable
on vas essayer de modifier tout ça
*/
 
// On déclare ton nouveau tableau
$cest_qui = array();
 
for ($i=0;$i<2;$i++)
{
 // Le ':' devient maintenant le séparateur
 $temp = split ( ':', $tes_donnees[$i] );
 $cest_qui[nom] = $temp[0];
 $cest_qui[prenom] = $temp[1];
}
 
// Ce qui devrait nous donner ça
print_r ($cest_qui);
 
 
?>
 


Message édité par Protohd le 03-03-2007 à 23:49:53
Reply

Marsh Posté le 04-03-2007 à 08:48:10    

Oulà...
 

Code :
  1. $split_pos = strpos($données, '><');
  2. $donnée_1 = substr($données, 0, $split_pos);
  3. $donnée_2 = substr($données, $split_pos + 1);


 
(En admettant que tes chaînes aient toujours cette forme-là...)


Message édité par sielfried le 04-03-2007 à 08:48:27

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 04-03-2007 à 10:49:29    

merci beaucoup pour ta reponse Protohd tu ma enormement aidé !!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed