legacyblade Posted July 13, 2010 Share Posted July 13, 2010 Hello. My employer contracted me to make a web script that replaces certain items of text in an HTML document (the name, contact e-mail, etc). It's all very well and good, and functioning. Except for one error I didn't realize until the final testing. One thing that my script is replacing is a bit of the HTML code for an e-mail optin form. The script passes no errors when HTML is given to it as a string, but it refuses to replace properly. After some experimenting, I found that the problem is this: anything after a < doesn't show up in a string. Anything else (even ',",\ or other special characters) show up just fine as a character in the string. But anything after the first instance of a < is not included in the string (and when the whole string is HTML code, that doesn't work very well). I've even tried passing \<, but that just makes the value of the string "\". Does anyone know how to get around this problem? Quote Link to comment Share on other sites More sharing options...
rondog Posted July 13, 2010 Share Posted July 13, 2010 I dont think you can escape that character, but rather replace it with < Quote Link to comment Share on other sites More sharing options...
rondog Posted July 13, 2010 Share Posted July 13, 2010 and actually I just found this which might be helpful: http://php.net/manual/en/function.htmlspecialchars.php Quote Link to comment Share on other sites More sharing options...
legacyblade Posted July 13, 2010 Author Share Posted July 13, 2010 Thanks! That gives me a great step in the right direction. Typing in < instead of < works. However, I'm not quite sure how to replace the <s from a textarea (they paste in the HTML) with a < Any suggestions? Quote Link to comment Share on other sites More sharing options...
legacyblade Posted July 14, 2010 Author Share Posted July 14, 2010 bump. I still have a problem. I'd try replacing every instance of < in the string with <, but that character ends the string. < and anything after it are considered not in the string. So I'm not quite sure how to go about fixing it. I'm getting the input from a textarea that's being submitted via ah html form. Any suggestions? Quote Link to comment Share on other sites More sharing options...
kenrbnsn Posted July 14, 2010 Share Posted July 14, 2010 Use htmlentities on the string when you display it. Ken Quote Link to comment Share on other sites More sharing options...
legacyblade Posted July 14, 2010 Author Share Posted July 14, 2010 Worked perfectly, thanks Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.