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 17/01/2012, 19h59   #1
Nouveau Membre du Club
 
Inscription : janvier 2010
Messages : 291
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 291
Points : 28
Points : 28
Par défaut preg_match_all avec des signes specials *

bonjour

j'ai des données comme ceci
Code :
1
2
3
4
5
6
7
8
 
$dans='
jjjjjjjj
 
    * AC Input (Tension d'entrée) :11
    * DC Output (Tension de sortie ):22
    * connecteur:33
';
j'aimerais récuperer pour chaque ligne commencant par
étoile (*) avec la fonction preg_macht_all les données comme ceci
Code :
1
2
3
4
 
AC Input (Tension d'entrée) :11
DC Output (Tension de sortie ):22
connecteur:33
j'ai fait le code comme ceci,mais ca me donne pas ce que je veux
Code :
1
2
3
 
$rech='#([^\*]+)#';
preg_match_all($rech, $dans, $out);print_r($out);
voici le resultat
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
Array
(
    [0] => Array
        (
            [0] => 
ssfsfgsfsfg
 
            [1] =>  AC Input (Tension d'entrée) :11
 
            [2] =>  DC Output (Tension de sortie ):22
 
            [3] =>  connecteur:33
 
        )
 
    [1] => Array
        (
            [0] => 
ssfsfgsfsfg
 
            [1] =>  AC Input (Tension d'entrée) :11
 
            [2] =>  DC Output (Tension de sortie ):22
 
            [3] =>  connecteur:33
 
        )
 
)
j'aimerais enlever les lignes qui n'ont pas d' étoile devant comme du resultat mais impossible
merci pour votre aide
bigs3232 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 21h37   #2
Nouveau Membre du Club
 
Homme Fabien
Développeur Web
Inscription : juin 2011
Messages : 15
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2011
Messages : 15
Points : 29
Points : 29
Bonsoir,
En ce moment, tu cherches toutes les chaines de caractère n'ayant pas d'étoile.
Il me semble qu'il suffirait de faire :
Vagaweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 09h58   #3
Nouveau Membre du Club
 
Inscription : janvier 2010
Messages : 291
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 291
Points : 28
Points : 28
Citation:
Envoyé par Vagaweb Voir le message
Bonsoir,
En ce moment, tu cherches toutes les chaines de caractère n'ayant pas d'étoile.
Il me semble qu'il suffirait de faire :
ca ne marche ton code.
ce serait plutot comme celà
Code :
$rech='#(\*\s*)([^\*]+)#';
bigs3232 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 11h17   #4
Nouveau Membre du Club
 
Homme Fabien
Développeur Web
Inscription : juin 2011
Messages : 15
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2011
Messages : 15
Points : 29
Points : 29
Bonjour,
Tu as trouvé la solution alors pourquoi tu n'as pas prévenu ?

J'ai fait un test pour voir si mon expression régulière fonctionnait. Elle fonctionne.

Code :
1
2
3
4
5
6
7
8
9
10
$dans='
    jjjjjjjj
 
        * AC Input (Tension d\'entrée) :11
        * DC Output (Tension de sortie ):22
        * connecteur:33
';
$rech='#\*(.*)#';
preg_match_all($rech, $dans, $out);
print_r($out);
Voila le résultat :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Array
(
    [0] => Array
        (
            [0] => * AC Input (Tension d'entrée) :11
            [1] => * DC Output (Tension de sortie ):22
            [2] => * connecteur:33
        )
 
    [1] => Array
        (
            [0] =>  AC Input (Tension d'entrée) :11
            [1] =>  DC Output (Tension de sortie ):22
            [2] =>  connecteur:33
        )
 
)
Vagaweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 11h39   #5
Nouveau Membre du Club
 
Inscription : janvier 2010
Messages : 291
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 291
Points : 28
Points : 28
avec ton code j'ai çà comme résultat:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
Array
(
    [0] => Array
        (
            [0] => * AC Input (Tension d'entrée) :11
    * DC Output (Tension de sortie ):22
    * connecteur:33
    *
        )
 
    [1] => Array
        (
            [0] =>  AC Input (Tension d'entrée) :11
    * DC Output (Tension de sortie ):22
    * connecteur:33
    *
        )
 
)
en fait les données en dessous sont stockés dans une ligned'un fichier csv.c'est pour celà que ton code ne marche pas
Code :
1
2
3
4
5
    jjjjjjjj
 
        * AC Input (Tension d\'entrée) :11
        * DC Output (Tension de sortie ):22
        * connecteur:33
bigs3232 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 11h47   #6
Nouveau Membre du Club
 
Homme Fabien
Développeur Web
Inscription : juin 2011
Messages : 15
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2011
Messages : 15
Points : 29
Points : 29
Ok.
Dans ton message, tu avais précisé "chaque ligne commencant par ". ^^
Vagaweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 12h06   #7
Nouveau Membre du Club
 
Inscription : janvier 2010
Messages : 291
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 291
Points : 28
Points : 28
pas compris.en tout cas mon code marche mais je ne comprends pas pourquoi le tien ne marcherait pas aussi
bigs3232 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 21h40   #8
Nouveau Membre du Club
 
Inscription : janvier 2010
Messages : 291
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 291
Points : 28
Points : 28
finalement je garde mon code qui marche bien.merci
bigs3232 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h46.


 
 
 
 
Partenaires

Hébergement Web