Supprimer certain élément d'un texte

Résolu
cs_lopi_hel Messages postés 5 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 23 mars 2008 - 18 mars 2008 à 21:07
cs_lopi_hel Messages postés 5 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 23 mars 2008 - 23 mars 2008 à 20:37
Bonjour a tous,

je bloque sur un script probablement tout bête. après quelque heure de recherche sur google et ce forum je ne trouve pas la solution.

j'explique mon problème :

J'ai un texte formater de cette manière :

17/03 (21:33) Secteur Portuaire - Centre Ferroviaire : Bhaboum a produit 6 Voyages en Train et touché 90 P$. 17/03 (21:26) Secteur Portuaire - Mine d'Or : Bhaboum a produit 1 Or et touché 69 P$.

Je souhaite récupéré certaine information dans ce bout de texte;

Il me faut le nom du centre de production (Centre Ferroviaire, Mine d'Or...), le nombre de production (ici 6 et 1) ainsi que les gain (ici 90 et 69)

J'ai penser a utilisé des regex mais ça n'a rien donné de constructif.

Le texte et dynamique et je ne peut absolument pas prévoir la date, la ville (ici Secteur portuaire), le pseudo ni le type de la production (ici des voyages en train ainsi que de l'or).

Je ne peut donc pas prévoir le nombre de caractère qu'il y a entre ces indication...

Quelqu'un a une solution ?

Merci d'avance et bonne soirée !

3 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
18 mars 2008 à 22:07
Hello,

on remarque que le centre de production est tjrs précédé d'un tiret.
que les gains sont toujours des chiffres suivis de la devise P$
et que la production est précédé de "a produit".

<?php
$sChaine = "17/03 (21:33) Secteur Portuaire - Centre Ferroviaire : Bhaboum a produit 6 Voyages en Train et touché 90 P$. 17/03 (21:26) Secteur Portuaire - Mine d'Or : Bhaboum a produit 1 Or et touché 69 P$.";
preg_match_all('`- ([^:]+)|a produit ([0-9]+)|([0-9]+) P\$`', $sChaine, $aRes);
print_r($aRes);
?>
cs_lopi_hel Messages postés 5 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 23 mars 2008
18 mars 2008 à 22:30
Ca fonctionne très bien, merci beaucoup !
cs_lopi_hel Messages postés 5 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 23 mars 2008
23 mars 2008 à 20:37
Bonjour a tous,

j'ai encoree un petit problème que je n'arrive pas a réglé.

Je parcours le tableau a l'aide de 3 boucle foreach, afin d'obtenir les information désiré.

J'aimerais inclure ces info dans la BDD, et c'est la que je bloque...

Voici mon code :

<?php
 
$sChaine = "17/03 (21:33) Secteur Portuaire - Centre Ferroviaire : Bhaboum a produit 6 Voyages en Train et touché 90 P$. 17/03 (21:26) Secteur Portuaire - Mine d'Or : Bhaboum a produit 1 Or et touché 69 P$. 17/03 (21:26) Secteur Portuaire - Mine d'Or : Bhaboum a produit 2 Or et touché 168 P$.";
preg_match_all('`- ([^:]+)|a produit ([0-9]+)|([0-9]+) P\$`', $sChaine, $a);//$aRes
 
 
 
                foreach($a[1] as $do2)
                {
                                        
                                        $doimpl1 = $do2."-";
                                        echo $doimpl1;
 
                }
 
                echo "
<hr />
";
 
                foreach($a[2] as $do2)
                {
                                        
                                        $doimpl2 = $do2."-";
                                        echo $doimpl2;
 
                }
                echo "
<hr />
";
                foreach($a[3] as $do2)
                {
                                        
                                        $doimpl3 = $do2."-";
                                        echo $doimpl3;
                }
?>

ce qui donne ce résultat:

Centre Ferroviaire ---Mine d'Or ---Mine d'Or ---

-6---1---2--

--90---69---168-

j'aimerais inclure dans ma bdd chaque information dans l'ordre (centre ferroviaire, 6, 90 et ainsi de suite...)

et je bloque a ce niveau, comment mettre mes informations dans l'ordre dans ma BDD ?

j'ai bien penser a récupéré l'id mais comme mon texte est dynamique je ne vois pas trop comment faire.

Merci d'avance !

Bonne soirée
Rejoignez-nous