Newsgroup: it.comp.programmare
Titolo: Libreria per rimuovere TAG Html in C

 
 
Sapete se esiste una librerìa per il C, che consenta di rimuòvere i TAG Html 
da un file?
 
 
Gràzie
 
Ciao
 
 
 
 

 da un file?
  Perchè non provi le espressioni regolari?
 


Perl sarebbe il linguaggio adatto per fare velocemente questo tipo di cose
 

 > Perl sarebbe il linguaggio adatto per fare velocemente questo tipo di 
cose
 
 
Non  conosco il PERL quindi non posso esprimermi su questa scelta, 
comunque bertram parlava di C e a questo mi sono attenuto.

   Perchï¿œ non provi le espressioni regolari?
 
Io direi perché non è possibile?
HTML *non* è un linguaggio regolare e non è quindi parsabile con le espressioni regolari.
Per fare le cose fatte bene serve un parser HTML (e ce ne sono a iosa, per ogni linguaggio, basta chiedere a google).
 
Ciao!

 Per fare le cose fatte bene serve un parser HTML (e ce ne sono a iosa, per ogni linguaggio, basta chiedere a google).
 
Io normalmento estraggo quanto c'è di testo tra i tag, in maniera 
semplice ed elegante (c#). con 2/3 righe di codice...
Penso che sia questo (estrarre il testo tra i tag) quello che vuole fare 
bertram.  Sarebbe il caso che intervenisse per spiegare meglio le sue 
esigenze. Saluti Ferradini
 

 ha scritto nel messaggio
news:kqrs8q$9em$1...@virtdiesel.cu.mi.it...

Si infatti, devo prima scaricare un file.jsp che rinomino in txt, una volta
scaricato, devo fare il parsing dei tag html.
 
Ho trovato queste:
http://www.paehl.com/open_source/?download=libtidy.7z
 
https://github.com/joyent/http-parser
 
https://code.google.com/p/slre/
 
 
 
 
Ciao
 
 
 
 
 
 


Figurati, i tag HTML iniziano con un < e terminano con >
Se è un programma usa e getta e  deve fare il lavoro con un file 
abbastanza semplice scomodare un parser (ed anche il linguaggio C) puo 
essere addirittura troppo.
Esistono linguaggi con qui queste cose si fanno sicuramente più 
velocemente che farle in C
 
Es:
  echo '<pippo>vvvv</pippo>'  | perl -pe 's/<[^<>]+>//g'
 
una riga di codice perl
 
Comunque, se proprio si vuole usare il C con un parser esiste ad esempio 
expat sotto linux o msxml sotto windows
 
 

 
https://code.google.com/p/slre/
 
 
Questo è per espressioni regolari, non c'entra un tubo.
 
 
Ciao!


 
A mč serve una libreria da utilizare dall'interno del programma che scarica 
il file.
Non voglio utilizzare un altro programma, una volta scaricato il file.
 
Ciao 
 
 


 
 
 
 
echo '<p>ciao a <b>tutti <i>quanti</i>!</b></p>' | perl -pe 's/<[^<>]+>//g'
 
 
ciao a tutti quanti!
 
 
hai ragione, è proprio inutile :)
 
 
 
[CUT]
 
 


 
Una chiamata a system non va bene ?
 


 
Purtr�ppo no.
 
Ciao
 
 
 

 
 
Era un esempio. Voi un tag valido che non funzionerebbe?
<p id="id<">ciao</p>
 
Non capisco perché arrampicarsi sugli specchi: lo HTML non è un linguaggio
regolare, punto. Ci si può accontentare di soluzioni alla buona che funzionano
ogni tanto ma almeno cerchiamo di essere onesti dicendolo.
 
Ciao!


Credi  non lo sappia ?
Avevo già detto che era per soluzioni usa e getta
Sei tu che hai insistito
 

 Sei tu che hai insistito
 
Non è che insisto perché voglio fare polemica, ma se l'OP dice: "devo prima
scaricare un file.jsp..." mi sembra ovvio che avrà un file HTML completo, dove
sono presenti così tanti elementi non parsabili in regexp (lascia perdere gli
id strani, ma blocchi di script / css, i commenti, gli elementi dei form,
etc.etc.) che in pratica non è una soluzione.
Sinceramente neanche un parser HTML da solo mi sembrerebbe sufficente, visto
che la maggior parte dei siti moderni carica vari pezzi di contenuto in AJAX,
per cui cercherei una libreria/applicativo che fa direttamente il rendering
(e non sto esagerando, prova a disabilitare il javascript sul browser e dimmi
quanti siti riesci a leggere).
Quindi nulla, prima che l'OP, come tanti che non lo sanno, inizi a darci di
regexp per un problema simile, mi sento di consigliarli vivamente di
lasciare perdere.
 
Ciao!

 
No, sbagli ;-), la pagina che devo scaricare e una  pagina abbastanza
semplice, con dei tag html, solo che voglio farlo dall'intèrno del
programma, utilizzando delle lib e  delle chiamate a funzióne.
 
 
Ciao
 
 
 
 

 
 
eh sì, spesso nell'utilizzare le lib si ricorre alle chiamate a funzione :D
 
Ciao!


 
 
Ricambio!
 
 
 
 

 Ipotizzando che il file sia uno e l' html sia semplice [..]
 
E' qui che differiamo, sulla concetto di "file HTML semplice".
 
Sarà che ho lavorato tanto nel mondo "www" e ho anche scritto vari spider di
varia natura (in realtà solo due, uno in PHP e l'altro in tecnologia mista), ma
per me un file che non contiene nessuno degli elementi che fa andare in palla
un qualsiasi codice generico basato su regexp è riconducibile solo ai primi
anni 90.
 
Fondamentalmente, per esperienza mia:
- se l'OP ha il controllo della pagina iniziale basta che si fa dare i dati in
qualsiasi altro formato più facile da leggere
- se non ha il controllo della pagina ma ha la certezza che non verrà cambiata
basta che fa un cappello di javascript lato server/client/applicativo
- se la pagina può essere cambiata e non sa quando o come gli serve un parser
con qualche tipo di patter recognition, anche semplice
- se la pagina può essere qualunque beh, buona fortuna, siamo nel campo dei
paper accademici.
 
Come hai detto anche te, comunque, senza altri dati è diffile dare un consiglio
valido..
 
Ciao!


 
 
 
 
Se la pagina fosse solo una e con un paio di regex si risolvesse il 
problema ti metteresti a usare un bel parser, sotto C poi ?
Io non lo farei per questo
In passato ho scritto analizzatori di files xml, sarei stato un folle se 
mi fossi messo  a fare regexp, ho semplicemente usato un parser xml
 
 
 


 
Ancora, dipende dal caso. Per un one-shot hai ragione, per un qualsiasi codice
che deve correre su un input che può variare boh.
 
Ciao!