Web Analytics Made Easy -
StatCounter Replacing ;) with images - CodingForum

Announcement

Collapse
No announcement yet.

Replacing ;) with images

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new 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
    CYWebmaster.com - See why we dot com!!
    ACJavascripts.com - Cut & Paste Javascripts!
    SimplyProgram.com - Personal Blog

  • #2
    you also need to escape the ) and the ;


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

    calilo

    Comment


    • #3
      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.



      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

      Comment


      • #4
        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
        My Website
        010100010011110101110100011011110111000001101000

        Comment


        • #5
          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

          Comment


          • #6
            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

            Comment

            Working...
            X