Thread Regulärer Ausdruck (2 answers)
Opened by Gast at 2004-07-05 18:26

Gast Gast
 2004-07-05 18:26
#83895 #83895
Hi,
mit folgendem Code öffne ich ein Verzeichnis, ändere die HTML-Dateien darin und speicher sie anschließend in einem neuen Verzeichnis ab.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/local/bin/perl

use strict;

# HTML-Dateien öffnen, ändern und speichern

my $datei_dir ="/data/daten/ib_test";
my $dateineu_dir ="/data/daten/ib_test/Dateien_neu";

opendir(DIR, $datei_dir) or die "Fehler bei opendir: $!\n";
while(my $datei=readdir(DIR))
{
print "$datei\n";
if($datei=~m/.+\.html*$/)
{
open(DATEI, "<$datei_dir/$datei") || die "Fehler bei open(< $datei): $!\n";
open(DATOUT,">$dateineu_dir/$datei") || die "Fehler bei open(> $datei): $!\n";
while (my $zeile =<DATEI>)
{
$zeile =~ s/<head>/<head>
<LINK REL=stylesheet TYPE="text\/css" HREF="\/daten\/ib\/css\/ib.css">/g;
$zeile=~s/<\/head>/<\/head>
<body>
$1<p style="display:none">$datei<\/p>/i;

print (DATOUT "$zeile");
}
close(DATEI);
close(DATOUT);
}
}
close(DIR);

In der HTML-Datei habe ich jetzt noch folgende Tags.
z.B.
<font FACE="Arial" SIZE=6>Ueberschrift 1</font>
<font FACE="Arial">normaler Text</font>
Jetzt sollte aus <font FACE="Arial" SIZE=6> -> <h1> werden und aus dem darauf folgenden </font> dann </h1>
Mein Problem ist nun, dass ich nicht weiss, wie ich es anstellen soll, dass nur die </font> in </h1> umgewandelt werden welche direkt auf <font FACE="Arial" SIZE=6> folgen. Die anderen schließenden Font tags sollten erstmal erhalten bleiben.
Gruß und danke für Eure Hilfe.

View full thread Regulärer Ausdruck