I was trying some new things with php today, and was commenting above each little bit to better see what was working and/or displaying versus what was not. My comment delineator consisted of the following:
[code] echo '<br><br><font color="#bbbbbb"><i> this is a comment displayed in html </i></font><br><br>'; [/code] Then I decided to create a cool function to write that code for me every time I wanted to write a comment formatted in HTML, so to write a comment saying "this is a comment", I would call a function: [code] comment("this is a comment"); [/code] It was working wonderfully, until I wanted to display "test of $newComment" as a comment. [code] comment("test of $newComment"); [/code] This rendered a comment that said "test of ". So I added a \ before the $ to make it display properly, but I was wondering if there was a way that the function could work so that it will display anything you type within the quotes in comment(" "). Here is my original code for the function comment() : [code=function comment()] function comment($commentText = "empty comment") { echo '<br><br><font color=#bbbbbb>Comment:</font><br>'; echo '<font color=#bbbbbb><i>'. $newComment .'</i></font><br><br>'; } [/code] This would return gray text in 2 lines, Comment: then a line return with the comment the developer put within the comment() function call in italics. After noticing that I MUST escape the dollar sign for it to display a function name in a comment, I tried the following: [code] function comment($commentText = "empty comment") { $healthy = "\$"; $yummy = "$"; $newComment = str_replace($healthy, $yummy, $commentText); echo '<br><br><font color=#bbbbbb>Comment:</font><br>'; echo '<font color=#bbbbbb><i>'. $newComment .'</i></font><br><br>'; } [/code] This still does not produce the desired results, I still have to escape the $ when I call the comment() function for the variable name to display. Again, not a big deal, but I don't want this to beat me. Anyone have any ideas? Additionally, when I try to echo $newComment, nothing shows on the screen. Is this because variables are reset or set to null, or cleared at the end of a function in which they are used?