Ga naar inhoud

vertalen, maar hoe!!??


Aanbevolen berichten

In een cgi-script (perl) die ik heb gevonden op het internet wil ik iets veranderen. Namelijk: <LI> (een opsommingsteken) moet worden: <img src=http://www.jistrum.nl/image/diversen/email.gif> (een plaatje dus) Als ik dit simpelweg doe dan werkt mijn script niet meer!!! Nu kwam ik de volgende regel tegen in mijn script: if ($line =~ /<li> Deze moet dus eigenlijk vertaald worden naar <img src=http://www.jistrum.nl/image/diversen/email.gif> Wie kan me hier bij helpen ??? Siebren:)
Link naar reactie
Dat zal zoiets moeten worden: if ($line =~ /<img src=http://www.jistrum.nl/image/diversen/email.gif> uitleg: je moet "/" en "." escapen binnen deze regexp tot "/" en ".", omdat deze een speciale betekenis hebben binnen een regexp. btw. bovenstaande is niet getest btw2. je zal zelf de code moeten aanvullen (stukje wat je gaf was niet compleet) _________________ NU EVEN NIET!!! KUNNEN JULLIE NU HELEMAAL NIETS ALLEEN??!! :wink: [ Dit bericht is bewerkt door: Annie op 2002-04-06 15:26 ]
Link naar reactie
Het werkt dus nog niet goed, Hier onder de volledige inhoud van mijn originele script: De <LI> is dus nog niet vervangen door de afbeelding [code:1:92937e8f7f] #!/usr/bin/perl ############################################################################## # Free For All Link Page Version 2.2 # # Copyright 1996 Matt Wright mattw@worldwidemart.com # # Created 5/14/95 Last Modified 7/17/96 # # Scripts Archive at: http://www.worldwidemart.com/scripts/ # ############################################################################## # COPYRIGHT NOTICE # # Copyright 1996 Matthew M. Wright All Rights Reserved. # # # # Free For All Links may be used and modified free of charge by anyone so # # long as this copyright notice and the comments above remain intact. By # # using this this code you agree to indemnify Matthew M. Wright from any # # liability that might arise from it's use. # # # # Selling the code for this program without prior written consent is # # expressly forbidden. In other words, please ask first before you try and # # make money off of my program. # # # # Obtain permission before redistributing this software over the Internet or # # in any other medium. In all cases copyright and header must remain intact.# ############################################################################## # Define Variables $filename = "/sites/jis08506/cgi-bin/test/e-mailgids.html"; $linksurl = "http://www.jistrum.nl/cgi-bin/test/e-mailgids.html"; $linkscgi = "http://www.jistrum.nl/cgi-bin/test/e-mailgidss.pl"; $linkstitle = "Jistrumer e-mailadressengids"; $database = "/sites/jis08506/cgi-bin/test/database.txt"; # Done ############################################################################## # Get the input read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); # Split the name-value pairs @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex())/eg; $value =~ s/<([^>]|n)*>//g; $value =~ s/<//g; $value =~ s/>//g; $FORM{$name} = $value; } if (!($FORM{'title'})) { &repeat_url; } if (!($FORM{'title2'})) { &repeat_url; } if (!($FORM{'url'})) { &repeat_url; } # Enter our tags and sections into an associative array %sections = ("abc","ABC","defg","DEFG","hijk","HIJK", "lmno","LMNO","pqrs","PQRS", "tuvw","TUVW","xyz","XYZ"); # Suck previous link file into one big string open(FILE,"$filename"); @lines = <FILE>; close(FILE); $i=1; foreach $line (@lines) { if ($line =~ /<li><a href="([^"]+)">([^<]+)</a>/) { if ($FORM{'url'} eq ) { &repeat_url; } $i++; } } # Open Link File to Output open (FILE,">$filename"); foreach $line (@lines) { # For every line in our data if ($line =~ /<!--time-->/) { @months = ('januari','februari','maart','april','mei','juni', 'juli','augustus','september','oktober','november','december'); @days = ('zondag','maandag','dinsdag','woensdag','donderdag', 'vrijdag','zaterdag'); ($sec,$min,$hour,$mday,$mon,$year,$wday) = (localtime(time))[0,1,2,3,4,5,6]; if ($sec < 10) { $sec = "0$sec"; } if ($min < 10) { $min = "0$min"; } if ($hour < 10) { $hour = "0$hour"; } if ($mday < 10) { $mday = "0$mday"; } $year += 1900; $date = "op $days[$wday], $mday $months[$mon] , $year om $hour:$min:$sec"; print FILE "<!--time--><B>Het laatste adres is toegevoegd: $date uur.</B>n"; } elsif ($line =~ /<!--number-->/) { print FILE "<!--number--><B>Er staan nu <i>$i</i> adressen "; print FILE "op deze pagina.</B>n"; } else { print FILE $line; } foreach $tag ( keys %sections) { # For every tag if ( ($FORM{'section'} eq $sections{$tag}) && ($line =~ /<!--$tag-->/) ) { print FILE "<li><a href="mailto:$FORM{'url'}">$FORM{'title'}, $FORM{'title2'}</a>n"; } } } close (FILE); # Return Link File print "Location: $linksurlnn"; if ($database ne '') { open (DATABASE,">>$database"); print DATABASE "$FORM{'url'}n"; close(DATABASE); } sub no_title { print "Content-type: text/htmlnn"; print "<html><head><title>ERROR: No Title</title></head>n"; print "<body bgcolor=#024A02 alink=white text=white><center>"; print "Naam vergeten</center>n"; print "U bent vergeten uw naam in te vullen. "; print "Gebruik a.u.b. geen "; print "ongewone characters.<p>n"; print "<form method=POST action="$linkscgi">n"; print "<input type=hidden name="url" value="$FORM{'url'}">n"; print "<input type=hidden name="section""; print "value="$FORM{'section'}">n"; print "TITLE: <input type=text name="title" size=50><p>n"; print "<input type=submit> * <input type=reset>n"; print "n"; print "Begin opnieuw: <INPUT TYPE=button VALUE=GaTerug onClick=history.back()>n"; print "</form></body></html>n"; exit; } sub repeat_url { print "Content-type: text/htmlnn"; print "<html><head><title>Foutmelding e-mailadres</title></head>n"; print "<body bgcolor=#024A02 alink=white text=white><center>U bent vergeten uw naam of adres in te typen</center>n"; print "Of dit adres bestaat al!.n"; print "Klik op de back-button van uw browser en vul alsnog uw correcte-mail adres in.<p>n"; print "Begin opnieuw: <INPUT TYPE=button VALUE=GaTerug onClick=history.back()>"; print "</body></html>n"; exit; } [/code:1:92937e8f7f]
Link naar reactie
deze style zou in de head-sectie van je html staan. <head> <title>Titel</title> [b:a8430beccb]<style type=text/css> UL { list-style-image: url(plaatje.gif); } </style>[/b:a8430beccb] </head> <body> etc... aangezien de pagina door het cgi-script gegenereerd worden moet je deze toch aanpassen om de style weg te schrijven. ik ben zelf niet bekend met perl maar gok op de volgende aanpassing (/toevoeging): [code:1:a8430beccb] print "Content-type: text/htmlnn"; print "<html><head><title>Hier de titel</title>n"; print "<style type=text/css>n"; print "UL { list-style-image: url(http://www.jistrum.nl/image/diversen/email.gif); }n"; print "</style></head>n";[/code:1:a8430beccb] dus de eerste twee print statements in de routines no_title en repeat_url vervangen door bovenstaande. [edit] code-tag toegevoegd [edit2] wat niet helemaal goed ging.. [ Dit bericht is bewerkt door: cim op 2002-04-06 19:42 ] [ Dit bericht is bewerkt door: cim op 2002-04-06 19:44 ]
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...