Parsowanie html'a.

0

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

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.

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ł? :)

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1