RegExp: Herausfiltern von Inhalt aus HTML datei?
JENSEN
- perl
0 Michael Schröpl
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
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
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
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
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