Jak używać Regex do wyodrębniania treści z dokumentu html, , biorąc pod uwagę, że znaczniki html i body mogą być zapisane wielkimi, małymi literami lub mogą nie istnieć?Wyciąg Regex html Body
Odpowiedz
Nie używaj do tego celu wyrażenia regularnego - użyj czegoś takiego jak Html Agility Pack.
Jest zwinny parser HTML buduje odczytu/zapisu DOM i wspiera zwykły XPATH lub XSLT (faktycznie nie zrozumieć XPATH ani XSLT go używać, nie martw się. ..). Jest to biblioteka kodu .NET, która umożliwia analizowanie plików HTML "poza internetem". Analizator składni jest bardzo odporny na "zły, zniekształcony HTML". Model obiektu jest bardzo podobny do tego, co proponuje System.Xml, ale do dokumentów HTML (lub strumieni ).
Następnie można wyodrębnić body
z XPATH.
Zgadzam się. Użyłem tego i muszę powiedzieć, że jest szybki, czysty i czysty. –
To powinno cię całkiem blisko:
(?is)<body(?:\s[^>]*)>(.*?)(?:</\s*body\s*>|</\s*html\s*>|$)
Proszę podać szczegółowe rozwiązanie. – ShaileshDev
Jak o czymś takim?
Przechwytuje wszystko pomiędzy znacznikami <body></body>
(wielkość liter ma znaczenie z powodu RegexOptions.IgnoreCase
) w grupie o nazwie theBody
.
RegexOptions.Singleline
pozwala nam obsługiwać wielowierszowy kod HTML jako pojedynczy ciąg.
Jeśli HTML nie zawiera tagów <body></body>
, właściwość dopasowania Success
będzie fałszywa.
string html;
// Populate the html string here
RegexOptions options = RegexOptions.IgnoreCase | RegexOptions.Singleline;
Regex regx = new Regex("<body>(?<theBody>.*)</body>", options);
Match match = regx.Match(html);
if (match.Success) {
string theBody = match.Groups["theBody"].Value;
}
- 1. JavaScript Regex domeny wyciąg URL tylko
- 2. Wyciąg e-mail i nazwisko z regex
- 3. body: => Html w strukturze Play?
- 4. Właściwości CSS do "html" i "body"
- 5. Umiejscowienie dyrektywy ng-app (html vs body)
- 6. usuwanie html, head, body tag wewnątrz TinyMCE
- 7. dlaczego używać „html, body” dla scrollTop zamiast tylko „html”
- 8. Wyciąg Json odpowiedź
- 9. php regex do usunięcia HTML
- 10. HTML Pattern - regex nie działa
- 11. Co to jest "body! = Body" w szablonie Jade?
- 12. JavaScript równoważny z $ ('body')
- 13. "body {background-color}" działa w HTML, ale nie w CSS
- 14. Kolor tła znacznika BODY zastosowanego do całego HTML
- 15. Wysokość 100% na html/body nie działa na iPhonie
- 16. Regex, aby dopasować treść treści HTML w PHP
- 17. Wyciąg podciągi w Pythonie
- 18. Wyciąg atrybuty ciągu
- 19. Wyciąg wieloliniowy w Swift
- 20. Python wzór wyciąg mecze
- 21. CSS: body {} Selektor nie działa
- 22. RegEx dopasowania tagów HTML i wyodrębniania tekstu
- 23. Dozwolone wartości identyfikatora HTML 4.01 regex
- 24. Regex - Konwertuj HTML na prawidłowy znacznik XML
- 25. Wyciąg Ajax multi wybierz box
- 26. zmienne php tablicy - przeciwieństwo "wyciąg"
- 27. klasa Wyciąg z Resharper 7
- 28. Wyciąg wartości między nawiasami NSString
- 29. jQuery odpowiednik body onLoad
- 30. $ .ready() przed zamknięciem body
Duplikat strony http://stackoverflow.com/questions/356340/regular-expression-to-extract-html-body-content? – M4N