Jump to content

What's Wrong With This Sanitize Message Php Code?


wadboram
 Share

Recommended Posts

I have added the below code to my the top of my sendmessage.php file to prevent users in my site to share emails and URLs but this doesn;t work.What could be wrong with the code? Should I call the functions anywhere ?

function sanitize_message( $message , $email = true, $numbers = true, $url = true ){$message = strip_tags( $message );if($email){//strip email address$email_regexp = "[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*(\.[A-Za-z]{2,3})";$message = ereg_replace($email_regexp, '', $message);}//eliminate url from messageif($url){$url_regexp = "(https?://)?(www\.)?([a-zA-z0-9\.])*[a-zA-Z0-9]*\.[a-z]{2,3}";$message = ereg_replace($url_regexp, '', $message);}//eliminate all the bad words$bad_words = array("skype", ".net", ".com", "org", "biz", "@", "yahoo.com", "gmail", "hotmail", "mail", "e-mail", "msn", "dot",);$message = str_ireplace($bad_words, '', $message);return $message; }

Link to comment
Share on other sites

Instead of ereg_replace() you should use preg_replace(). Besides that, I don't see anything obviously wrong with your code. Have you tested the function yourself with example strings to see what comes out?

Link to comment
Share on other sites

I will try your recommendations.Yes I tried to send messages having Urls and emails like myemail@yahoo.com and it was sent with no problem to the other user. I think it's not functional. Maybe the placement of the code in the sendmessage.php file? or calling the function is missing something?

Edited by wadboram
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...