Remplacement caracteres

Résolu
citt Messages postés 209 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 9 février 2012 - 24 mars 2006 à 14:30
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 24 mars 2006 à 15:23
Bonjour,

Je voudrait transformer un texte comme ceci :

test,"5,4",sfvq,8
en :
test,"5.4",sfvq,8

Comment puis je faire ??

Citt_jr
Bats toi avec les meilleurs, crève avec le reste
Tsubara.net

12 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 mars 2006 à 15:16
<?php
$sString = 'test,"5,4",sfvq,8';
echo $sString = preg_replace ('/("{1}.+)(,)(.+"{1})/', '$1.$3', $sString);
?>
3
Tarvos Messages postés 40 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 24 mars 2006
24 mars 2006 à 15:03
str_replace ?
0
citt Messages postés 209 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 9 février 2012 3
24 mars 2006 à 15:07
Non car je veut changer juste la virgule entre les " " par toutes les virgules.

Et je veut pas faire une fonction qui prend carac par carac rien que pour ca je suis sur qu'on peut le faire avec d'autre fonction

Citt_jr
Bats toi avec les meilleurs, crève avec le reste
Tsubara.net
0
yanne1985 Messages postés 87 Date d'inscription samedi 14 janvier 2006 Statut Membre Dernière intervention 5 décembre 2008
24 mars 2006 à 15:10
substr() pour extraire une partie de ta chaine puis str_replace()!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 mars 2006 à 15:11
Hello,

<?php
$sString = 'test,"5,4",sfvq,8';
echo $sString = preg_replace ('/([\d])+(,)([\d])+/', '$1.$3', $sString);
?>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 mars 2006 à 15:11
Ah, entre guillemets...pfff ;-)
0
yanne1985 Messages postés 87 Date d'inscription samedi 14 janvier 2006 Statut Membre Dernière intervention 5 décembre 2008
24 mars 2006 à 15:15
$s1="test,"5,4",sfvq,8" ;

$s2=substr(0,5,$s2) ;

$s3=substr(7,16,$s2) ;

$sresu=$s2.".".$s3 ;
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 mars 2006 à 15:17
C'est bien beau ton substr (), mais il manque un strpos pour déterminer où sont les guillemets, dans ce cas. La chaîne n'est probablement pas la même tout le temps...tes positions seront fausses.
0
citt Messages postés 209 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 9 février 2012 3
24 mars 2006 à 15:19
Encore merci, j'arrive pas a my mettre au expression regulaire faudrait vraiment que je my mette

Citt_jr
Bats toi avec les meilleurs, crève avec le reste
Tsubara.net
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 mars 2006 à 15:19
En plus, les paramètres de tes substr ne sont pas dans le bon ordre ;-)
0
yanne1985 Messages postés 87 Date d'inscription samedi 14 janvier 2006 Statut Membre Dernière intervention 5 décembre 2008
24 mars 2006 à 15:21
desolé

$s3=substr($s2,7,16) ;
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 mars 2006 à 15:23
Bah, suffit de s'y mettre justement ;-)

Il faut plus d'infos si tu veux une expression régulière plus précise...celle-ci fait ça :
elle cherche une virgule située entre : 1 guillemet ouvrant suivi d'un ou plusieurs caractères, et 1 ou plusieurs caractères suivi d'un guillemet.
C'est pas forcément exactement ce que tu veux.
Il faut que tu donnes le motif précis : y a t il seulement des chiffres? Ou tout caractère? C'est vraiment entre guillemets, ou toute virgule entre 2 chiffres...etc.
0
Rejoignez-nous