Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
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 03/01/2008, 19h09   #1
Futur Membre du Club
 
Inscription : novembre 2006
Messages : 91
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 91
Points : 17
Points : 17
Par défaut [CSV] str_replace pour le remplacement des retours chariot

bonjour,

j'ai un petit probleme avec un remplacement de linefeed : voici le code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
 
<?php
function banlist()
{
	$url = "http://tor.xenobite.eu:81/exported-files/tor_allnodes.csv";
	$str = fopen($url,"r");
	$contenu ="";
		while (!feof($str)) {
		  $contenu .= fread($str, 8192);
		}
		fclose ($str);
	str_replace(chr(10),",",$contenu);
	echo($contenu); 
}
banlist();
?>
le but étant evidemment de remplacer les sauts de ligne par des virgules.
j'ai maté le fichier csv avec un éditeur hexa, il s'agit bien de linefeed (0a)
j'ai aussi testé \r\r , \n, \r, %0a% en premier parametre de str_replace, rien ne marche

quelqu'un peut il m'aider svp ?
mnem0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 19h20   #2
Invité régulier
 
Inscription : mars 2006
Messages : 14
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 14
Points : 7
Points : 7
Bonjour,
Essaies : ereg_replace(chr(10),",",$contenu);
Bien que moi j'aurais mis : ereg_replace("\n",",",$contenu);
dimmak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 19h38   #3
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Comme la plupart des fonctions PHP, str_replace (ou même ereg_replace proposée plus haut) ne modifie pas la chaîne d'origine ! Il faut récupérer son résultat et l'exploiter :
Code :
$contenu = str_replace(chr(10), ',', $contenu);
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 20h41   #4
Futur Membre du Club
 
Inscription : novembre 2006
Messages : 91
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 91
Points : 17
Points : 17
Citation:
Envoyé par julp Voir le message
Comme la plupart des fonctions PHP, str_replace (ou même ereg_replace proposée plus haut) ne modifie pas la chaîne d'origine ! Il faut récupérer son résultat et l'exploiter :
Code :
$contenu = str_replace(chr(10), ',', $contenu);
merci oh! maître
mnem0 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 13h57.


 
 
 
 
Partenaires

Hébergement Web