Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 6 of 6
  1. #1
    Regular Coder
    Join Date
    Jun 2002
    Location
    FL, USA
    Posts
    734
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Replacing ;) with images

    Hi everyone,
    Okay well heres the gig,

    I want to replace ;) for a smily.
    I pretty sure that the replace syntax is this

    s/whatitslookingfor/replaceitwiththis/;

    But i get an error when i do this

    s/;)/http://www.acjavascripts.com/Images/hippy.gif/;

    So i though it the error was with the http:// //

    so i did this

    s/;)/http:\/\/www.acjavascripts.com\/Images\/hippy.gif/;

    but it still errors please can someone help me out:(:(


    Thankxxxx in advance :D
    CYWebmaster.com - See why we dot com!!
    ACJavascripts.com - Cut & Paste Javascripts!
    SimplyProgram.com - Personal Blog

  • #2
    Regular Coder
    Join Date
    Jun 2002
    Location
    Mex
    Posts
    122
    Thanks
    0
    Thanked 0 Times in 0 Posts
    you also need to escape the ) and the ;


    $input =~ s/;\)/http:\/\/www.yourdomain.com\/smilies\/happy.gif/g;

    calilo

  • #3
    Regular Coder
    Join Date
    Jun 2002
    Location
    FL, USA
    Posts
    734
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Calilo thanks alot for your reply,

    I'm not getting the error anymore

    But it doesn't replace it. So this is how i have it setup and mabye you can see where i'm goin wrong

    1) The person clicks the sign my guestbook link.
    2) The go to a html page the type in textboxs name,email,comments ect.
    3) the click sumbit,
    4) it sends the info to a cgi wich write the data to a database. .dat.
    5) it then redirects the user back to the guestbook, and the guestbook reads the data file and prints it out onto the page.
    The Guestbook.cgi is where i have the s/// replace thingy.

    http://www.acjavascripts.com/cgi-bin.../Guestbook.cgi

    Thats the guestbook link check it out it ya like.

    Would it be easire for me to just post my cgi code??
    CYWebmaster.com - See why we dot com!!
    ACJavascripts.com - Cut & Paste Javascripts!
    SimplyProgram.com - Personal Blog

  • #4
    Regular Coder
    Join Date
    Jun 2002
    Location
    the Netherlands
    Posts
    215
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Maybe you can send the sourcecode, so we see what went wrong.

    Did you use the s/;\)/http:\/\/www.yourdomain.com\/smilies\/happy.gif/g; on the variable contaning the text the user types?

    BTW, I would use this:
    $users_text =~ s/\;\)/\<img src=\"http:\/\/www\.yourdomain\.com\/smilies\/happy\.gif\"\>/g;

    What is does:
    It replaces the "" with an image.
    I used \. instead of . because . also means "any character".

    Mzzl, Chris

  • #5
    Regular Coder
    Join Date
    Jun 2002
    Location
    FL, USA
    Posts
    734
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Okay this what i have so far.

    --------------
    Guestbook.cgi
    This is what the user sees
    -------------

    #!/usr/bin/perl

    print "Content-type:text/html\n\n";

    #The Guestbooks backgroundColor
    $bgColor = "navy";

    #The Guestbooks FontColor
    $fontColor = "gold";

    #The Name of your Guestbook
    $guestbookName = "www.ACJavascripts.com's Guestbook!";

    #The Sign Guestbook link's Text
    $sign = "Sign My Guestbook";

    #Location of WrittingMessage.html
    #Example: http://www.yoursite.com/WriteMessage.html

    $writeMessage = "http://www.acjavascripts.com/WriteMessage.html";

    #hrColor, The Line color that seperates the messages
    $hrColor = "lawngreen";


    open(INF,"MessageDatabase.dat");
    @msg = <INF>;
    close(INF);

    print "<html><head><title>$guestbookName</title></head>\n";
    print "<body bgColor=\"$bgColor\">\n";
    print "<BR><center><h2>$guestbookName</h2>\n";
    print "<b><a href='$writeMessage'>Sign Guestbook</a><br><br></center>\n";

    foreach $KK (@msg){
    chomp($KK);
    ($Email,$Name,$Loc,$message) = split(/\|/,$KK);
    $KK=~ s/\;\)/<img src\"http:\/\/www\.acjavascripts\.com\/Images\/happy.gif\">/g;
    print "<table><tr><td><b><font color='$fontColor'>Name: $Name</font></b></td></tr><tr><td>\n";
    print "<b><font color='$fontColor'>Email: $Email</font></b></td></tr><tr><td>\n";
    print "<b><font color='$fontColor'>Location: $Loc</font></b></td></tr><tr><td>\n";
    print "<b><font color='$fontColor'>Message: $message</font></b></td></tr></table>\n";
    print "<br><hr color='$hrColor'><br>\n";
    }
    print "<center><sup><h5>Guestbook By www.ACJavascripts.com/CGI/AC-CGI.html</h5></sup><BR><BR>\n";
    print "</body></html>";


    ---------------------------------
    This is the WriteMessage.html
    ----------------------------------
    <html>
    <head>
    <title>Guestbook</title>
    </head>
    <body>

    <center>Write To ACJavascripts Guestbook</center>
    <hr>
    <form action="http://www.acjavascripts.com/cgi-bin/Guestbook/WriteMessage2.cgi" method="POST">
    <table>
    <tr>
    <td>
    Email </td><td><input type="text" name="Email">
    </td></tr><tr><td>
    Name </td><td><input type="text" name="Name">
    </td></tr><tr><td>
    Location </td><td><input type="text" name="Loc">
    </td></tr><tr><td>
    Message </td><td><textarea name="message" rows=8 cols=60 wrap="virtual">
    </textarea>
    </td></tr></table>

    <input type="submit" value=" - Submit - ">

    </form>

    </body>
    </html>

    ---------------------------
    This is the WriteMessage.cgi
    ----------------------------


    #!/usr/bin/perl

    read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
    @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($1))/eg;
    $value =~ s/\n/ /;
    $value =~ s/\r//g;
    $value =~ s/\cM//g;
    $FORM{$name} = $value;
    }


    $Refresh = "http://www.acjavascripts.com/cgi-bin/Guestbook/Guestbook.cgi";


    open(OUTF,">>MessageDatabase.dat");

    flock(OUTF,2);
    seek(OUTF,0,2);

    print OUTF "$FORM{'Email'}|$FORM{'Name'}|$FORM{'Loc'}|$FORM{'message'}\n";

    close(OUTF);

    print "Content-type:text/html\n\n";
    print "<html><head><title>Thank you</title><META HTTP-EQUIV=\"Refresh\" CONTENT=\"2; URL=$Refresh\"></head>\n";
    print "<body>\n";
    print "<BR><BR><BR><BR><BR><BR><center>\n";
    print "<table border=1 borderColor=\"black\">\n";
    print "<tr><td bgColor=\"salmon\">\n";
    print "<font color=\"black\"><b><center>\n";
    print "Thank you for posting your message.<BR>\n";
    print "You will be redirected shortly.<BR><BR>\n";
    print "<h4>If you browser does not redirected you then click here: <a href=\"$Refresh\">Guestbook</a>\n";
    print "</body></html>";



    ------------------------------


    Thats Pretty Much that. lol


    I just saw this. Where i have the $value=~ s/\n//g;
    is that were i should put the smily replace ??
    CYWebmaster.com - See why we dot com!!
    ACJavascripts.com - Cut & Paste Javascripts!
    SimplyProgram.com - Personal Blog

  • #6
    Regular Coder
    Join Date
    Jun 2002
    Location
    FL, USA
    Posts
    734
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Thanks everyone for your great help.
    That thing i was thinking of - placing the s/s/s/g; (replace syntax)
    width the $value=~ s/s/s/g;

    It works great now, Thanks alot for all your help!
    CYWebmaster.com - See why we dot com!!
    ACJavascripts.com - Cut & Paste Javascripts!
    SimplyProgram.com - Personal Blog


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •