Newsgroup: it.comp.programmare
Titolo: da txt ad HTML

ho diversi file .txt da trasformare, in modo "automatico", in HTML. Come
posso fare?
Poiche' sono tanti, non posso entrare in ognuno con un word processor e
salvare in HTML.
Grazie per ogni suggerimento
fabio

 ha scritto nel messaggio
news:aven1t$e8a4m$1...@ID-66806.news.dfncis.de...

Dato che siamo su it.comp.programmare ti darò in risposta un algoritmo,
anche se dubito che tu voglia questo...
Apri il file txt il lettura (file1), e uno nuovo in scrittura (file2).
In file2 scrivi le linee "<HTML><BODY>"
Copia il contenuto di file1 in file2
Alla fine scrive su file2 "</BODY></HTML>"
Per ciclare tra tutti i file txt usa le funzioni FindFirstFile()
FindNextFile()

 
Aggiungere i tag a inizio e fine file non basta.
Per ottenere dei file HTML corretti devi anche sostituire i caratteri 
non supportati in HTML nei loro equivalenti "escape" (ad esempio < 
diventa &lt;). 
Potrebbe anche essere il caso di trasformare i fine-linea del file di 
testo in <BR> (ma questo dipende da come è formattato il file .txt).
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)

testo in <BR> (ma questo dipende da come è formattato il file .txt).
Dimentichi il DOCTYPE, i tag in minuscolo e l'intestazione
Rhymes

 ha scritto nel messaggio
news:19vl1vka2tkud3e10...@4ax.com...

Sono tutti fronzoli, le uniche cose veramente necessarie sono quelle
specificate da Marchese e Valter.
NinjaCross

 specificate da Marchese e Valter.
Sì, ma in un futuro potresti trovarti a doverlo convertire in XHTML se è un
lavoro serio. Ed allora mettere il doctype subito, i tag in minuscolo e gli
attributi sempre tra virgolette non è più un fronzolo...
-- 
Andrea Bergia - studente              Linux Registred User #281550
"The one thing we're all waiting for, is peace on Earth and an end to war,
it's a miracle we need, the miracle, the miracle, 
Peace on earth and end to war today,
That time will come one day you'll see when we can all be friends"

specificate da Marchese e Valter.
lui parlava di HTML corretti che per me ha anche il significato di
standard :)
Rhymes

 ha scritto nel messaggio
news:7k6m1vof4erapkv0s...@4ax.com...


, 
F...@nospam.com
 
says...

Bastava fare una ricerchina con Google :)
http://www.doclib.org/Linux/apps/www/converters/htmltxt/dist/readme.html
Se non hai Linux installato pare ci sia anche compilato per Windows.
Luca

 
Vero, se vuoi rispettare le ultime versioni dello standard.
Le operazioni che ho indicato io sono il minimo indispensabile per 
avere dei file HTML visualizzati correttamente dai diversi browser.


 salvare in HTML.
questo e` un lavoro che si fa un poche righe di python:
import cgi 
from os.path import splitext
import glob
html = """
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>foo</title>
  <meta http-equiv="content-type" content="text/html; 
charset=ISO-8859-1">
</head>
<body>
<pre>
%s
</pre>
</body>
</html>
"""
if __name__=='__main__':
    names = glob.glob('*.txt')
    for name in names:
        f = open(name)
        basename, dummy = splitext(name)
        out = open(basename + '.html', 'w')
        text = f.read()
        out.write(html % cgi.escape(text))
        out.close()
converte tutti i file .txt della directory corrente e crea i 
corrispondenti file .html. Nota che il file di testo e` racchiuso dal 
tag <pre>, per preservare l'eventuale formattazione. Ovviamente se hai 
bisogno di una conversione piu` intelligente devi faticare un po' di 
piu`, pero` questo mi pare un buon inizio.
ciao Anto
-- 
"Computer science is not about computers any more than astronomy
is about telescopes." -- EW Dijkstra

 lavoro serio.
Se č un lavoro serio e la prospettiva č quella di una futura riconversione,
allora lo deve convertire in XML e non in HTML, non ti sembra ?
Saluti
--
NinjaCross
 
www.ninjacross.it
Sconnetti il chip isolineare per contattarmi
ninjacross_CH...@yahoo.it

allora lo deve convertire in XML e non in HTML, non ti sembra ?
credo che questo siano uno dei motivi per cui il w3c è passato
all'xhtml che sostanzialmente è una riscrittura dell'html in xml,
compatibile con quest'ultimo
Rhymes

 posso fare?
Se puņ servire in PHP puoi usare queste 2 funzioni:
/* converto il testo in tag HTML */
function txt2html($txt)
{
     $txt = htmlentities($txt, ENT_QUOTES);
     $str = preg_replace("/(\015\012)|(\015)|(\012)/","<br>",$txt);
     return $str;
}
/* converto il testo 
www.sito.it
 in <a href="
www.sito.it
">
www.sito.it
</a> */
function html_link($txt)
{
     $txt = 
preg_replace("/\b((http(s?):\/\/)|(www\.))([\w\.]+)([\/\w+\.]+)\b/i",
         "<a href='http$3://$4$5$6' target='_blank'>$2$4$5$6</a>", $txt);
     return $txt;
}
puoi usare le espressioni regolari anche con perl o sed
scopiazzate dal manuale di PHP,
Ciao
-- 
Ranger! 
www.rossi.eu.com
aggiungi .it alla mail x rispondermi


Forse però non è quello che serve a te. Dacci un'occhiata, comunque. La 
risposta banale, comunque, è:
<html>
<body>
<pre>
[testo]
</pre>
</body>
</html>
:-)
-- 
 < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
     Don't stand, REACT!      version 0.0.21. C, C++ and ASM developers
                              and beta testers are welcome!