Domanda

Ho una necessità di fare alcune semplici modifiche a HTML in C ++, preferibilmente senza dover riscrivere completamente i HTML, come quello che succede quando uso libxml2 o MSHTML.

In particolare devono essere in grado di leggere, e quindi (potenzialmente) modificare l'attributo "src" di tutti gli elementi "img". Ho bisogno di essere abbastanza robusto da essere in grado di farlo con qualsiasi HTML valido, ma preferibilmente senza modificare uno qualsiasi degli altri HTML nel processo.

Ci sono le librerie là fuori che sarebbe in grado di gestire questa situazione? O si tratta di qualcosa che posso fare con le espressioni regolari? Io non sono troppo esperto con le espressioni regolari, e ho letto un sacco di domande qui che dicono non si dovrebbe usare per analizzare HTML, ma io non sono chiaro se questo vale per qualcosa di simile a questo o se questo principio si applica principalmente per l'analisi nel contesto della costruzione di un albero dal HTML.

È stato utile?

Soluzione

Le espressioni regolari non sono raccomandati per HTML, perché non gestiscono bene i tag annidati. Dovrebbero andare bene per questo scopo.

Altri suggerimenti

Prova a guardare HTMLTidy

L'ho usato per cose simili in passato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top