|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
[C] Esiste funzione che trasforma HTML in TXT?!
Ed eccomi a riscrevere nella mitica sezione di Programmazione!
![]() Il problema di questa volta è che ho scritto 1 applicazione in C e che tra le altre cose tratta testo simile a questo: Codice:
Dopo il voto scoppiano le contraddizioni nella maggioranza<br>e la Cdl va all'attacco:<i>"Il governo non ha i numeri, si dimetta"</i><br>Base Vicenza, Unione divisa Parisi:<i>"Serve un chiarimento"</i><br>Ma Chiti getta acqua sul fuoco:<i>"Non era mica un voto di fiducia"</i><br> <br><br> (18:11 01/02/2007)<br> Rendo l'idea? Domanda: C'è 1 modo per cui il <br>, o <br/> che siano, diventi il mitico "\n" e via dicendo per i caratteri dello stesso tipo?! Grazie amici!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Ovviamente il TXT puro a video sarà visualizzato correttamente, o almeno spero.
![]() Codice:
Dopo il voto scoppiano le contraddizioni nella maggioranza e la Cdl va all'attacco: "Il governo non ha i numeri, si dimetta" Base Vicenza, Unione divisa Parisi: "Serve un chiarimento" Ma Chiti getta acqua sul fuoco: "Non era mica un voto di fiducia" (18:11 01/02/2007)
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 01-02-2007 alle 18:04. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Forse è meglio 1 funzione "Sostituisci"?!
![]() ... che magari rimpiazza le sottostringhe del HTML con quello che gli dico io tipo "\n". ![]() ![]() ![]() ![]() ![]()
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Feb 2004
Messaggi: 1454
|
fai prima a fartela da solo, è piùttosto semplice...
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
![]() Tu dici di fare la sostituisci?! Come la imposteresti tu?! Non c'è ne 1 x farne automaticamente di botto la transumanza HTML2TXT ?! ![]()
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
ho cercato html2txt C++ con google ![]()
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Troppo complessa quella, passerei 1 sacco di tempo a riadattarla.
Forse faccio prima a partorire 1 funzione "sostituisci(char* a, char* b)" che utilizzando la funzione di STRING.H "char* strstr(cs, ct)" ad ogni prima occorrenza di ct in cs, attraverso al puntatore all'occorrenza, sostituisca la parte ineteressata. Bisogna stare attenti a shiftare i caratteri, sempra 1 cacata, ma occorre fare attenzione. Voi come la impostereste?!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 02-02-2007 alle 15:51. |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
EDIT
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jun 2004
Messaggi: 760
|
puoi usare uno scanner tipo Flex (per il C) o JFlex (per il Java)... in 30 secondi scrivi tre regolette che al posto di ogni <br> ti mettono un \n... non è difficile...
non so solo come si interfacci un programma C con uno scanner Flex, ma non penso che sia proibitivo... spero di non aver aggiunto solo confusione... ![]()
__________________
Gandalf_BD -------------------------------------------- "When you aim at perfection, you discover it's a moving target" |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
Quello che in sostanza a me servirà è 1 funzioncina di immettere tra il resto del mio codice C senza stravolgimenti. Per questo le soluzioni precedenti non erano il MAX. A parte quel utente che giustamente ha detto di scriverla a manina.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Jun 2004
Messaggi: 760
|
Quote:
![]() parlavo di questo http://www.cs.princeton.edu/~appel/m.../flex_toc.html in pratica, è la parte di un compilatore che si occupa di fare l'analisi del codice sorgente (che nel tuo caso sarebbe la pagina HTML...)
__________________
Gandalf_BD -------------------------------------------- "When you aim at perfection, you discover it's a moving target" |
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Io ho 1 stringa relativamente corta di HTML, quidi cerco 1 approcio + classico.
Sto pensando di portare avanti qualcosa del genere: Codice:
void rimpiazza(char *str_input, char *str_target, char *str_sostituta) { char *str_tmp; str_tmp = strstr(str_input, str_target); if (str_tmp != "NULL") }
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 03-02-2007 alle 20:50. |
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Codice:
while((pos = stringaHTML.find(tagHTML)) != string::npos) stringaHTML = stringaHTML.replace(pos,tagHTML.length(),"\n"); |
|
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Ehh magari fosse C++, è solo C aimè.
Infatti sto chiedendo aiuto qui: [C] Sostituire 1 sottostringa in 1 stringa: ho fatto questa funzione..
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4741
|
Quote:
quello che farei io sarebbe un parser con: una macchina a stati uno stack con cui tenere straccia del contenuto di tag aperte in sospeso una tabella di conversione
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
|
|
![]() |
![]() |
![]() |
#17 | ||
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
Io ho già fatto 1 parser RSS solo che in barba a tutte le dichiarazioni degli STANDARD il campo che vado a prendere invece di essere 1 CDATA (ovvero solo testo) contiene al suo interno dei piccoli TAG che non vanno lontano dal essere il <br>, <i> o il <b>. Bene io vorrei che i <br> diventino dei \n e gli altri che scompaiano pure. AD ESEMPIO: Quote:
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:03.