anoniem Geplaatst: 6 april 2002 Delen Geplaatst: 6 april 2002 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:) Quote Link naar reactie
anoniem Geplaatst: 6 april 2002 Auteur Delen Geplaatst: 6 april 2002 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 ] Quote Link naar reactie
anoniem Geplaatst: 6 april 2002 Auteur Delen Geplaatst: 6 april 2002 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] Quote Link naar reactie
anoniem Geplaatst: 6 april 2002 Auteur Delen Geplaatst: 6 april 2002 misschien is het handiger om de LI-tag zelf te laten zoals die is en middels een style de bullet te vervangen door een plaatje. zoiets dus: <style type=text/css> UL { list-style-image: url(plaatje.gif); } </style> Quote Link naar reactie
anoniem Geplaatst: 6 april 2002 Auteur Delen Geplaatst: 6 april 2002 Zou je dit iets nader willen beschrijven? Ik ben maar een "leek" Maar deze style regel moet ik in het html bestand zetten, en deze moet dan de LI-tag vervangen door dat plaatje. Maar hoe defineer ik dan die die LI-Tag in die style regel ??? Alvast bedank siebren Quote Link naar reactie
anoniem Geplaatst: 6 april 2002 Auteur Delen Geplaatst: 6 april 2002 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 ] Quote Link naar reactie
anoniem Geplaatst: 6 april 2002 Auteur Delen Geplaatst: 6 april 2002 Sorry, maar ik krijg dit niet voor elkaar, Bovendien vraag ik me af dat dit wel werkt in perl. Bedankt voor de moeite.... siebren Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen