Page 1 sur 1

[R] Conversion d'un fichier TXT en HTML

Posté : mer. 29 oct. 2014 12:22
par Kaplan
Bonjour,

Je travaille sur la transformation d'un fichier texte contenant des données délimitées par le séparateur ",".
Pour le moment je parviens à ajouter des balises (pour constituer un tableau) avec la fonction StringRegExpReplace comme suit :

Code : Tout sélectionner

 $modif = FileRead ($ft)
$modif1 = StringRegExpReplace ($modif,"\A","<tr><td>") ;début de fichier première ligne
$modif2 = StringRegExpReplace ($modif1,",","</td><td>") ;remplacer la virgule (séparateur de données)
$modif3 = StringRegExpReplace ($modif2,"\r","</td></tr>") ;fin de ligne sauf dernière ligne
Je complète en ajoutant un entête et un bas de fichier.
En revanche, je ne parviens toujours pas à trouver une fonction pour placer la balise <tr><td> au début de chaque ligne (hormis pour la 1ère ligne) de mon fichier texte. La solution est sans doute élémentaire, mais, le nez dans le guidon :oops: , je ne vois plus rien ...

Merci par avance pour vos idées lumineuses.

Re: [..] Conversion d'un fichier TXT en HTML

Posté : mer. 29 oct. 2014 13:20
par jguinch
Essai avec ça :

Code : Tout sélectionner

$modif1 = StringRegExpReplace ($string, "(?m)^", "<tr><td>")
 

Re: [..] Conversion d'un fichier TXT en HTML

Posté : mer. 29 oct. 2014 13:59
par mikell

Code : Tout sélectionner

$modif = FileRead ("1.txt")
$modif1 = StringRegExpReplace ($modif, "(?m)^(.*)\R?", "<tr>" &@crlf& "<td>$1</td>" &@crlf& "</tr>" &@crlf)
$modif2 = StringReplace ($modif1,",", "</td>" &@crlf& "<td>") ;remplacer la virgule (séparateur de données)
$modif3 = "<table border='1'>" & @crlf& "<tbody>" & @crlf& $modif2 & "</tbody>" & @crlf& "</table>"
Msgbox(0,"", $modif3)
FileWrite("1.html", $modif3)
ShellExecute("1.html")
:mrgreen:

Re: [R] Conversion d'un fichier TXT en HTML

Posté : mer. 29 oct. 2014 18:13
par Kaplan
C'est vraiment super ! :D Merci à Jguinch et à Mikell pour avoir débloqué ma progression sur ce point particulier de la conversion.
Je n'avais pas du tout compris l'utilisation de l'option (?m)^ dans la fonction StringRegExpReplace. Maintenant le code fonctionne à merveille grâce à vous et en un temps record !

Encore une fois merci.