remplacer les \n par des <br> dans un fichier ... [perl] - Perl - Programmation
Marsh Posté le 12-08-2003 à 01:29:05
truc du genre 
 
$var =~ s/\\n/<br>/g; 
 
pas testé mais ca doit pas etre loin 
 
le s c pour remplacer, entre le 1er et le 2e /, tu indique c quoi tu remplace, entre le 2e et le 3e tu indique par quoi, et finilament le g jcrois que c pour l'appliquer à tout les occurences
Marsh Posté le 12-08-2003 à 08:13:36
| burgergold a écrit : truc du genre  | 
s pour substitute 
g pour global 
ce que tu as écrit devrait marcher
Marsh Posté le 12-08-2003 à 09:33:29
$variable =~ s/\n/<br>/g; 
fonctionne en effet, ca me remplace tous les \n par <br>, cependant ce que je veux remplacer c'est seulement les \n encadrés par des " pour que mon fichier devienne : 
 
"1";"texte1";"texte2";"0" 
"2";"texte1";"texte2";"0" 
"3";"texte1<br>sur<br>plusieurs<br>lignes";"texte2<br>sur<br>plusieurs<br>lignes";"0"  
 
$variable =~ s/"\n"/<br>/g; a pas l'air de marcher 
$variable =~ s/\"\n\"/<br>/g; non plus 
 
Marsh Posté le 12-08-2003 à 09:37:07
| tigger59 a écrit : $variable =~ s/\n/<br>/g;  | 
 
ok alors si $variable contient l'intégralité des données, essaie ceci pour voir : 
 
| Code : 
 | 
Marsh Posté le 12-08-2003 à 09:42:19
Je pense qu'Aricoh voulait plutot dire quelque chose comme ça: 
| Code : 
 | 
Marsh Posté le 12-08-2003 à 09:45:51
| Anapajari a écrit : Je pense qu'Aricoh voulait plutot dire quelque chose comme ça:  
   | 
heu  heureusement que tu es là, j'avais pas lu l'exemple de données complètement, I am a big naze today
 heureusement que tu es là, j'avais pas lu l'exemple de données complètement, I am a big naze today   
 
Marsh Posté le 14-08-2003 à 10:12:00
Sauf que la dernière solution ne fonctionne que pour un seul \n au milieu d'un texte non ? 
ou alors le /g fait que le filtre tourne en boucle jusqu'à avoir remplacé toutes les occurences ? 
 
d
Marsh Posté le 14-08-2003 à 10:13:23
| d_wrk a écrit :   | 
 
Marsh Posté le 11-08-2003 à 15:21:05
salut
j'ai un fichier .csv de la forme
"1";"texte1";"texte2";"0"
"2";"texte1";"texte2";"0"
"3";"texte1
sur
plusieurs
lignes";"texte2
sur plusieurs
lignes";"0"
je voudrais mettre chaque enregistrement sur une seule ligne en remplacant tous les \n par des <br> sauf si le \n est suivi et precedé par un doublequote
j'ai essayé
if ($_ =~ /"\n"/)
et
if ($_ =~ /"\"\n\""/)
sans succès .... une idée ?