HTML Dateien splitten???
pantera555
- cgi
0 pit0 Stefan Priebe
Hi Leute,
kann mir jemand mal verraten wieso ich mit diesem Script (soll eine html auslesen und bei <br><br> splitten) in $Ergebnis[0] die ganze html seite habe und nicht nur den ersten teil nach dem splitt!? in
$Ergebnis[1] steht dann garnichts...
require "cgi-lib.pl";
&parse_form;
$old = "e:/Xitami/webpages/eintrag/loeschen.htm";
$new =">e:/Xitami/webpages/eintrag/eintrag2.txt";
open (OLDFILE, $old) or die "Datei existiert nicht\n";
open (NEWFILE, $new);
while (<OLDFILE>)
{
$Satz = $_;
chomp($Satz);
@Ergebnis = split(/<BR><BR>/, $Satz);
print NEWFILE $Ergebnis[0];
}
close (OLDFILE);
close (NEWFILE);
Die HTML-Datei aus der gelesen werden soll sieht so aus:
<HTML>
<HEAD>
<TITLE>Caravan Auto</TITLE>
<HEAD>
<BODY bgcolor=dcdcb4>
<table width=450 border=1><tr><td>
<img src=e:/Xitami/webpages/eintrag/img/auto01.gif >
</td>
<td>
Test, dieser
</td></tr></table>
<form method=get action=/cgi-bin/loesch.cgi>
<INPUT NAME="loeschen" TYPE=RADIO ALIGN=left VALUE="1">Datensatz löschen?
<INPUT type=submit value=Senden>
</form>
<BR><BR>
<HTML>
<HEAD>
<TITLE>Caravan Auto</TITLE>
<HEAD>
<BODY bgcolor=dcdcb4>
<table width=450 border=1><tr><td>
<img src=e:/Xitami/webpages/eintrag/img/auto01.gif >
</td>
<td>
Noch ein Test
</td></tr></table>
<form method=get action=/cgi-bin/loesch.cgi>
<INPUT NAME="loeschen" TYPE=RADIO ALIGN=left VALUE="2">Datensatz löschen?
<INPUT type=submit value=Senden>
</form>
<BR><BR>
<HTML>
<HEAD>
<TITLE>Caravan Auto</TITLE>
<HEAD>
<BODY bgcolor=dcdcb4>
<table width=450 border=1><tr><td>
<img src=e:/Xitami/webpages/eintrag/img/auto02.gif >
</td>
<td>
Ein letzter Test
</td></tr></table>
<form method=get action=/cgi-bin/loesch.cgi>
<INPUT NAME="loeschen" TYPE=RADIO ALIGN=left VALUE="3">Datensatz löschen?
<INPUT type=submit value=Senden>
</form>
<BR><BR>
etc....
Hi Leute,
kann mir jemand mal verraten wieso ich mit diesem Script (soll eine html auslesen und bei
»» splitten) in $Ergebnis[0] die ganze html seite habe und nicht nur den ersten teil nach dem splitt!? in
$Ergebnis[1] steht dann garnichts...
...
»» @Ergebnis = split(/<BR><BR>/, $Satz);
...
Du splittest jede Zeile einzeln. In der HTML-Datei steht aber <BR><BR> in einer extra Zeile
...
</form>
<BR><BR>
<HTML>
...
Was soll da gesplittet werden??
Wenn Du die Datei splitten willst, musst Du alle Zeilen bis <BR><BR> nach Ergebnis[0] schreiben und _danach_ nach Ergebnis[1] usw.. Also etwa
...
$datei=0;
open(ERGEBNIS,"ergebnis0.htm")
while(<HTML>){
if ($_ eq "<BR><BR>"){
close(ERGEBNIS);
$datei++;
open(ERGEBNIS,"ergebnis$datei.htm")
}
print ERGEBNIS $_ ;
...
oder so etws ähnliches
Chiau Pit
Hi,
ok, kapiert aber was wenn ich die einzelnen Stücke nicht in anderen HTML-Dateien Haben möchte sondern in der Liste @Eintrag !?
ändere das:
while (<OLDFILE>)
{
$Satz = $_;
chomp($Satz);
@Ergebnis = split(/<BR><BR>/, $Satz);
print NEWFILE $Ergebnis[0];
}
in:
$Satz = "";
while (<OLDFILE>)
{
chomp($Satz);
$Satz .= $_;
}
@Ergebnis = split(/<BR><BR>/, $Satz);
print NEWFILE $Ergebnis[0];