Moin!
Ich bin zwar in ReExp nicht Sattelfest aber mit dem Ausdruck bekommst ein problem..
Angenommen dein bodytag ist unabsichtlich modifiziert
zb.
<body bgcolor="#000000">.....</body>
So weit ich das beurteilen kann wird das mit deinem Ausdruck nicht gefunden
Daran habe ich auch gedacht. Gibt es irgend eine 'saubere' Lösung womit sich auch dieses Problem umgehen lässt?
Ja, indem du dir einen Parser schreibst. Ist halb so wild, wie es klingt.
Überlege dir, was passieren muss:
1. Lies Text ein. Suche dabei nach dem String "<body" in allen Schreibweisen (case-insensitiv).
2. Wenn der String gefunden wurde: Suche nach dem nachfolgenden ">".
3. Alle Zeichen, die bislang gelesen wurden, werden verworfen. Alle Zeichen, die jetzt folgen, sind gewünscht.
4. Lies solange Zeichen ein, bis du auf den String "</body>" triffst (case-insensitive). Den String selbst musst du nicht mehr mit kopieren, und wenn du ihn gefunden hast, kannst du deine Suche abbrechen - in einer validen HTML-Datei kommt kein zweiter Body vor.
- Sven Rautenberg