how would i add smilies support to my guestbook?

$outputstring = str_replace ( ": )", "<img src=\"images/smiles/1.gif\">", $outputstring);

thats the code i tried

$outputstring is where all the info is stored such as name, email, homepage, location, message

$outputstring is then stored into a text file which is shown as the guestbook entries

why wont the smilies work?

note* i know there is a gap in.. ": )" thats because wen i posted it it was changing the code

    Show us the contents of $outputstring.

      $outputstring = "<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Name: <a href=mailto:$email>".$name."</a></font>\n<br><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Date: ".$date."</font>\n";
      if ($location)
      	$outputstring .="<br><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Location: ".$location."</font>\n";
      if ($homepage)
      if (strpos($homepage, "://") === false)
      	$homepage = "http://".$homepage;
      	$outputstring .= "<br><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Homepage: <a href=$homepage target=\"_blank\">".$homepage."</a></font>\n</p>";
      $outputstring .= "<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">".$message."\n\n</font></p><img src=\"images/seperator.gif\">";
      $outputstring .= implode("", file("data.txt"));
      

        Are there some 'smiley' characters in data.txt?

          Well your str_replace() function call is fine. There must be a problem in data.txt?

            i aint sure but it definetly doesnt want to work :s

            an example of data.txt

            <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Name: <a href=mailto:forc3r@hormail.com>forcer</a></font>
            <br><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Date: 13:35, 10th December</font>
            <br><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Location: hartlepool</font>
            <br><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Homepage: <a href=http://www.digitalbreeze.net target="_blank">[url]http://www.digitalbreeze.net[/url]</a></font>
            </p><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: )</font></p>
            
            <img src="images/seperator.gif">

              Might be something to do with newlines, or whitespace, hard to say. Try

              $outputstring = preg_replace("/:\\)/si", "<img src=\"foobar.gif\">", $outputstring);
              

              preg_replace is probably a better function anyway because you can do things like:

              $patterns = array("/:\\)/si", "/:\\(/si" );
              $replaces = array("<img src=\"1.gif\">", "<img src=\"2.gif\">" );
              $outputstring = preg_replace($patterns, $replaces, $outputstring);
              echo $outputstring;
              

              hth

                <script language="Javascript" type="text/javascript">

                function insertsmiley(smileyface) {
                if (document.form1.message.createTextRange && document.form1.message.caretPos) {

                var caretPos = document.form1.message.caretPos;
                caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? smileyface + ' ' : smileyface;
                document.form1.message.focus();
                } else {
                document.form1.message.value+=smileyface;
                document.form1.message.focus();
                }
                }
                </script>

                a href="Javascript:insertsmiley('[:a]')" tabindex="-1"><img src="smileys/smiley1.gif" border="0"></a>
                <a href="Javascript:insertsmiley('[:b]')" tabindex="-1"><img src="smileys/smiley2.gif" border="0"></a>
                <a href="Javascript:insertsmiley('[:c]')" tabindex="-1"><img src="smileys/smiley3.gif" border="0"></a>
                <a href="Javascript:insertsmiley('[:d]')" tabindex="-1"><img src="smileys/smiley4.gif" border="0"></a>
                <a href="Javascript:insertsmiley('[:e]')" tabindex="-1"><img src="smileys/smiley5.gif" border="0"></a>
                <a href="Javascript:insertsmiley('[:f]')" tabindex="-1"><img src="smileys/smiley6.gif" border="0"></a>
                <a href="Javascript:insertsmiley('[:g]')" tabindex="-1"><img src="smileys/smiley7.gif" border="0"></a>
                <a href="Javascript:insertsmiley('[:h]')" tabindex="-1"><img src="smileys/smiley8.gif" border="0"></a>
                <a href="Javascript:insertsmiley('[:i]')" tabindex="-1"><img src="smileys/smiley9.gif" border="0"></a>
                <a href="Javascript:insertsmiley('[:j]')" tabindex="-1"><img src="smileys/smiley10.gif" border="0"></a>
                <a href="Javascript:insertsmiley('[:k]')" tabindex="-1"><img src="smileys/smiley11.gif" border="0"></a>
                <a href="Javascript:insertsmiley('[:l]')" tabindex="-1"><img src="smileys/smiley12.gif" border="0"></a>
                <a href="Javascript:insertsmiley('[:m]')" tabindex="-1"><img src="smileys/smiley13.gif" border="0"></a>
                <a href="Javascript:insertsmiley('[:n]')" tabindex="-1"><img src="smileys/smiley14.gif" border="0"></a>
                <a href="Javascript:insertsmiley('[:o]')" tabindex="-1"><img src="smileys/smiley15.gif" border="0"></a>
                <a href="Javascript:insertsmiley('[:p]')" tabindex="-1"><img src="smileys/smiley16.gif" border="0"></a>

                function format_post($mytest){
                $mytest = str_replace("[:a]","&nbsp;<img src=\"smileys/smiley1.gif\" border=\"0\">&nbsp;",$mytest);
                $mytest = str_replace("[:b]","&nbsp;<img src=\"smileys/smiley2.gif\" border=\"0\">&nbsp;",$mytest);
                $mytest = str_replace("[:c]","&nbsp;<img src=\"smileys/smiley3.gif\" border=\"0\">&nbsp;",$mytest);
                $mytest = str_replace("[:d]","&nbsp;<img src=\"smileys/smiley4.gif\" border=\"0\">&nbsp;",$mytest);
                $mytest = str_replace("[:e]","&nbsp;<img src=\"smileys/smiley5.gif\" border=\"0\">&nbsp;",$mytest);
                $mytest = str_replace("[:f]","&nbsp;<img src=\"smileys/smiley6.gif\" border=\"0\">&nbsp;",$mytest);
                $mytest = str_replace("[:g]","&nbsp;<img src=\"smileys/smiley7.gif\" border=\"0\">&nbsp;",$mytest);
                $mytest = str_replace("[:h]","&nbsp;<img src=\"smileys/smiley8.gif\" border=\"0\">&nbsp;",$mytest);
                $mytest = str_replace("[:i]","&nbsp;<img src=\"smileys/smiley9.gif\" border=\"0\">&nbsp;",$mytest);
                $mytest = str_replace("[:j]","&nbsp;<img src=\"smileys/smiley10.gif\" border=\"0\">&nbsp;",$mytest);
                $mytest = str_replace("[:k]","&nbsp;<img src=\"smileys/smiley11.gif\" border=\"0\">&nbsp;",$mytest);
                $mytest = str_replace("[:l]","&nbsp;<img src=\"smileys/smiley12.gif\" border=\"0\">&nbsp;",$mytest);
                $mytest = str_replace("[:m]","&nbsp;<img src=\"smileys/smiley13.gif\" border=\"0\">&nbsp;",$mytest);
                $mytest = str_replace("[:n]","&nbsp;<img src=\"smileys/smiley14.gif\" border=\"0\">&nbsp;",$mytest);
                $mytest = str_replace("[:o]","&nbsp;<img src=\"smileys/smiley15.gif\" border=\"0\">&nbsp;",$mytest);
                $mytest = str_replace("[:p]","&nbsp;<img src=\"smileys/smiley16.gif\" border=\"0\">&nbsp;",$mytest);
                return $mytest;
                }

                  fixed...

                  i changed $outputstring to $message and it worked perfect

                  thanx for the help

                    Write a Reply...