Parsowanie html'a.

Parsowanie html'a.
Y2
  • Rejestracja:ponad 14 lat
  • Ostatnio:prawie 9 lat
  • Postów:34
0

Czy za parsowanie html'a regexami idzie się do piekła? Jeśli tak, to jak mogę tego uniknąć?

Sopelek
możesz tego uniknąć poprzez parsowanie jakimś własnym algorytmem
RE
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około rok
1

Tak. Parsowanie html za pomocą wyrażeń regularnych jest krótko mówiąc złe. Natomiast należy rozgraniczyć parsowanie tekstu (którym html też jest) od parsowania dokumentu html.

Bardzo często NIE musimy go parsować, tj. poznawać hierarchii elementów, poznawać kontekstu, w którym się znajdują i tak dalej. Osiągnięcie tego korzystając głównie z samych wyrażeń regularnych jest nietrywialne i upierdliwe nawet na tych nowszych i bardziej rozbudowanych silnikach regexpów z zero-width assertions. Kolejny, bardzo ważny problem to wysoki ułamek błędnych konstrukcji html w przeciętnym dokumencie. Wzięcie na to poprawki w wyrażeniach regularnych niesamowicie je komplikuje.

W C/C++ możesz skorzystać z tidy, a w C++/CLI z html agility pack.

edytowany 1x, ostatnio: Rev
Y2
  • Rejestracja:ponad 14 lat
  • Ostatnio:prawie 9 lat
  • Postów:34
0

Hmmm. no tak, tylko ja chcę po prostu szukać pewnych fraz w tekście, a nie skanować powiedzmy zagnieżdżenia w znacznikach czy struktury dokumentu HTML. To nadal jest zły pomysł? :)

VI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 11 lat
  • Postów:212
0

No to to jest już inna sprawa i możesz do tego regexa używać, mówi się że tylko Chuck Norris jest w stanie parsować HTMLa regexem, i ma się tu na myśli odtwarzanie modelu strony :p

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.