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 26/10/2011, 18h24   #1
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 67
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 67
Points : 27
Points : 27
Par défaut Remplacer les virgules

Bonjour à tous,

je m'arrache les cheveux depuis plusieurs heures à essayer d’écrire une regex pour remplacer les virgules de ma chaine d'entrée qui sont comprises entre 2 apostrophes, sans y arriver. Voici ou 'en suis :

Code :
1
2
3
4
5
6
7
 
<?php
$listedePoint='"1-tralala, je suis par la; et non, je suis la-bas",0,4," et oui","C est pas moi, c est lui"';
 
echo $listedePoint=preg_replace("#^\"(.+)(,)(.+)#",'$1_$3',$listedePoint);
 
?>
Donc je veux arriver à ce que ma chaîne d'entrée ressemble à ca :

Code :
1
2
3
4
5
6
 
<?php
 
$listedePoint='"1-tralala je suis par la; et non je suis la-bas",0,4," et oui","C est pas moi c est lui"';
 
?>
Quelqu'un a-t-il une idée ? Merci
gussoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 18h27   #2
Membre éclairé
 
Avatar de Inazo
 
Gérant - société de développement web
Inscription : avril 2007
Messages : 290
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Gérant - société de développement web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2007
Messages : 290
Points : 360
Points : 360
Bonjour,

A vue de nez tu as essayé :

Code :
1
2
3
4
5
 
<?php
echo $listedePoint=preg_replace("/\"(.+)(,)(.+)\"/iu",'$1 $3',$listedePoint);
 
?>
Cordialement,
__________________
Si vous débutez en PHP : Tutoriel pour grands débutants

Mes tutoriels : http://alexandre-joly.developpez.com/
Inazo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 18h40   #3
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 67
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 67
Points : 27
Points : 27
Bonjour,

merci pour la réponse.

je sais pas si j'avais essayé ou pas, mais la il me remplace que la dernière virgule de ma chaîne..

Edit : Et il me fait sauter des ". Voici ce qu'il renvoie :

1-tralala, je suis par la; et non, je suis la-bas",0,4," et oui","Cest pas moi cest lui
gussoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 18h47   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
ton fichier est du CSV, si tu veux le lire c'est avec fgetcsv (et pas explode)
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/10/2011, 12h32   #5
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 67
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 67
Points : 27
Points : 27
Bonjour,

Citation:
ton fichier est du CSV
c'est pas du CSV, mais c'est vrai que la structure est la même

Citation:
si tu veux le lire c'est avec fgetcsv (et pas explode)
Ha merde, chuis grillé Bon je connaissais pas fgetcsv, je vais y jeter un oeil

Merci
gussoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 14h00   #6
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 67
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 67
Points : 27
Points : 27
Ok, c'est nicekl, plus simple et bien plus propre
gussoner 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 09h01.


 
 
 
 
Partenaires

Hébergement Web