txt2html.pl
#!/usr/bin/perl use locale; #caracteres accentues #On lance comme cela: perl txt2html.pl #On obtient: fichier.txt.html print "Bienvenu(e) au programme qui permet \n d'afficher les fichiers TXT en HTML.\n"; print "Nom du fichier de travail, de preference un .txt au format UNIX: \n"; my $file=<STDIN>; chomp($file); print "S'agit-il de la rubrique livres (tape: l) ou culture (tape: c) \n ou ce n'est pas important (tape: g)? \n"; my $rubrique=<STDIN>; chomp($rubrique); open(FILEIN, $file); open(FILEOUT, ">$file.html"); my $DUMPFULL=""; if (($rubrique=~/l/) || ($rubrique=~/c/) || ($rubrique=~/g/)) { while(my $recup=<FILEIN>) { #1. transcodage ####Les métacaractères#### $recup=~s/\>/>/g; $recup=~s/\</</g; $recup=~s/\"/"/g; ####Les Accents#### $recup=~s/à/à/g; $recup=~s/á/á/g; $recup=~s/â/â/g; $recup=~s/ã/ã/g; $recup=~s/ä/ä/g; $recup=~s/å/å/g; $recup=~s/æ/æ/g; $recup=~s/è/è/g; $recup=~s/é/é/g; $recup=~s/ê/ê/g; $recup=~s/ë/ë/g; $recup=~s/è/è/g; $recup=~s/é/é/g; $recup=~s/ê/ê/g; $recup=~s/ë/ë/g; $recup=~s/ì/ì/g; $recup=~s/í/í/g; $recup=~s/î/î/g; $recup=~s/ï/ï/g; $recup=~s/ò/ò/g; $recup=~s/ó/ó/g; $recup=~s/ô/ô/g; $recup=~s/õ/õ/g; $recup=~s/ö/ö/g; $recup=~s/ù/ù/g; $recup=~s/ú/ú/g; $recup=~s/û/û/g; $recup=~s/ü/ü/g; $recup=~s/ç/ç/g; ####Les fichiers de type texte#### ##Les paragraphes et les line breaks## $recup=~s/(\s)*\n/\n/g; #supprime les espaces avant le retour à la ligne $recup=~s/^\n/<p>\n/g; #met des paragraphes dans tous les sauts de ligne if ($recup=~/[^<p>]\n/g) { $recup=~s/\n/<\/br>\n/g; };# met des br en fin de ligne lorsque la balise <p> n'est pas là #2. Memorisation dans DUMPFULL $DUMPFULL.=$recup; }; }; if ($rubrique=~/l/) { #3. En-tete pour livres print FILEOUT "<html>\n <head>\n <title>Les rubriques Culture et Livres sur lemonde.fr<\/title>\n <meta http-equiv=\"content-type\" content=\"text\/html; charset=windows-1250\">\n <\/head>\n <body bgcolor=\"\#5EC3FB\" text=\"\#3F0F11\" link=\"\#B40002\" alink=\"\#0C340C\" vlink=\"\#67284C\">\n <body background =\".\/IMAGES\/rss-news.jpg\">\n <blockquote>\n \n <h2><font color=\"#390917\">",$file,"<\/font><\/h2>\n"; } elsif ($rubrique=~/c/) { #3. En-tete pour culture print FILEOUT "<html>\n <head>\n <title>Les rubriques Culture et Livres sur lemonde.fr<\/title>\n <meta http-equiv=\"content-type\" content=\"text\/html; charset=windows-1250\">\n <\/head>\n <body bgcolor=\"\#5EC3FB\" text=\"\#3D5A33\" link=\"\#B40002\" alink=\"\#0C340C\" vlink=\"\#67284C\">\n <body background =\".\/IMAGES\/rss-news.jpg\">\n <blockquote>\n \n <h2><font color=\"\#390917\">",$file,"<\/font><\/h2>\n"; } else { #3. En-tete pour les autres fichiers de ma page web print FILEOUT "<html>\n <head>\n <title>Les rubriques Culture et Livres sur lemonde.fr<\/title>\n <meta http-equiv=\"content-type\" content=\"text\/html; charset=windows-1250\">\n <\/head>\n <body bgcolor=\"\#5EC3FB\" text=\"\#12162E\" link=\"\#B40002\" alink=\"\#0C340C\" vlink=\"\#67284C\">\n <body background =\".\/IMAGES\/rss-news.jpg\">\n <blockquote>\n \n <h2><font color=\"\#390917\">",$file,"<\/font><\/h2>\n"; } ; #4. Remplacement des entites print FILEOUT $DUMPFULL; # Pied de page print FILEOUT "<p><a href=\"\.\/index.htm\"><img src=\"\.\/IMAGES\/index\.gif\"><\/a><\/blockquote>\n<\/body>\n<\/html>\n"; print "\nLe fichier bien accentue se nomme $file.html"; #---------------------------------------------- close(FILEIN); close(FILEOUT);