|
|||||||||||||||||||||||||||
Hej.
Jeg har et problem: Jeg har en html fil som jeg skal klippe og
klistre lidt i, således at der automatisk indsættes to SSI linier
i top og bund af en html fil hvis disse ikke findes i forvejen,
og forskellige tags skal slettes.
Dvs. Hvis jeg møder "<body ..> tekst" skal dette substituteres med
"<body ..><!--# .. --> tekst", og tekst kan være alt undtaget en
bemærkning, der starter med <!--# (i hvilket tilfælde der ikke skal
laves nogle ændringer), specielt også en anden html tag et par linier
senere.
Mit perl program sætter &\=undef og læser hele filen ind som en
streng, fjerner derefter microsoft tags som bgcolor etc. men
jeg kan ikke få ovenstående til at virke. Hvis $fyle indholder
filen så prøver jeg:
$fyle =~ s/<\s*body(\s*)>(\s*[^<][^!][^-][^-][^#])/<body$1><!--# ..
-->$2/gsi;
Men dette er ikke vandtæt. For nogle specielle tilfælde sker der
ikke nogen substitution, og nogle gange substituteres <!--# .. -->
ind selvom der komme ren bemærkning et par (tomme) linier efter
<body>.
Any help would be appriciated, btw. jeg har ikke rodet med perl
i mere end en dag, så formuler svaret derefter.
--
Sometimes it's better to light a Carsten Svaneborg
flamethrower than curse the darkness. sslug@sslug
-- (Terry Pratchett, Men At Arms) Fight Bill - use Linux
|
||||||||||||||
|
||||||||||||||