JENSEN: RegExp: Herausfiltern von Inhalt aus HTML datei?

open (DATEI,"while ($zeile = (<)DATEI(>)) {
$zeile =~ s/(.*$starttag).*(.*$endetag.*?)/$1$2/gis;
$zaehler++;
push(@zeilen,$zeile);
}
close (DATEI);
um inhalt aus einer xml-datei zu filtern, verwende ich obenstehendes script. Dieses funktioniert auch, aber nur dann, wenn die Tags, samt Inhalt der dazwischensteht auf
einer zeile steht.
adresse
strasse.../strasse
/adresse wird nicht "herausgefilter", wenn ich fuer
$starttag/$endetag "adresse" bzw. "/adresse" verwende.
Hingegen der mit "strasse" wfunktioniert, da es auf einer zeile steht.

Kann mir jemand weiterhelfen, ich sehe/finde den fehler nicht.
Danke
Jensen

PS.: damit der beitrag auch richtig angezeigt wird, verwende ich fuer die tags keine spitzen klammern

  1. Hi,

    um inhalt aus einer xml-datei zu filtern, verwende ich obenstehendes script.

    ... statt zuerst in CPAn nach einer fertigen Lösung zu suchen.

    Dieses funktioniert auch, aber nur dann, wenn die Tags, samt Inhalt der dazwischensteht auf einer zeile steht.

    Deine Diagnose führt mich zu einer naheliegenden Lösung: Lies die gesamte Datei in einen einzigen langen Skalar ein, etwa mit:

    my $skalar;
       while (<DATEI>)
             { chomp; $skalar .= $_; }

    und auf den kannst Du anschließend Deine regular expressions loslassen.

    PS.: damit der beitrag auch richtig angezeigt wird, verwende ich fuer die tags keine spitzen klammern

    http://www.teamone.de/selfaktuell/forum/forumsfaq_2.htm#a4

    mfG - Michael

    1. Vielen Dank fuer deinen loesungsvorschlag.

      Ich bin leider im Forum nicht fuendig geworden.
      Den Beitrag habe ich aus einemm anderm FGorum ruebr kopiewrt, weil ich ihn nicht nochmal abtippen wollte...
      Aber egal, ich teste deinen Vorschlag....

      nm Danke
      Jensen

      1. Hi,

        Den Beitrag habe ich aus einemm anderm Forum rueber kopiert, weil ich ihn nicht nochmal abtippen wollte...

        SelfHTML Aktuell - da werden Sie geholfen. ;-)

        mfG - Michael

    2. Vielen Dank fuer deinen loesungsvorschlag.

      Ich bin leider im Forum nicht fuendig geworden.
      Den Beitrag habe ich aus einem anderm Forum rueber kopiert, weil ich ihn nicht nochmal abtippen wollte...
      Aber egal, ich teste deinen Vorschlag....

      nm Danke
      Jensen