Program to remove contact information from message like email and phone


In my project users comminicate with each other by sending messages to each.

I have developed this feature.

I want to remove contact information from message like name or number more than 4 character in length.

users can comminicate with each other by sending n receiving message but can not send contact information.

i want solution in any php or any other technology.

any idea?


You can’t. There is no technology advanced enough in any language to do this. What you can do is remove the obvious, like email addresses, phone numbers, and URLs because they have a specific format. But names cannot be seen because there is nothing that makes them stand out from any other word.

Still, with URLs it’s quite hard to stop everything. What if users type stuff like me [at] example [dot] com, moc.elpmaxe@em (but reversed) me-example-com, etc.

If you want 100% certainty no contact details come through ever, you need somebody to moderate all the messages by hand.


Thanks for support and information.

Could you please provide program to remove email,phone and urls.

It is okay if user write example dot com in message.

I need to remove emails,phone numbers more than 4 and urls.



I have following solution and want to share.


function sanitize_message( $message , $email = true, $numbers = true, $url = true )

	//$message = strip_tags( $message );
		//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);
		//echo count($numbers);	
		//strip all numerical values
		$number_regexp = "[0-9]";
		$message = ereg_replace($number_regexp, '', $message);
	//eliminate url from message
		$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("f**k", "son of a b***h");
	$message = str_ireplace($bad_words, '', $message);
	//eliminate all the email words
	$email_words = array("skype", ".net", ".com", "org", "biz", "@", "", "gmail", "hotmail", "mail", "e-mail", "msn", "dot","net","com",".org",
						 "at",".org","","", "", " ","","", "", "Caramail", "", 
						 "Catholic Online", "CentralPets", "Computermail", "DC Email", "Ecology Fund", "E-Mail Anywhere", "EasyPeasy", "", 
						 "EmailAccount", "EmailAccounts4Free", "EmailChoice", "Emailyou", "", "Eudora Web Mail","","Execs2K", 
						 "FastMail", "FasterMail", "","FlashMail","Fresno Mail","Garfield","Gawab","", "GMail", "GMX", "", 
						 "Go2Now", "GotGeekMail", "", "Hello Kitty","HushMail","", "JoinMe","JoyMail","JungleMate","Killer","KittyMail",
						 "KuKaMail","", "", "Mail2World", "MailCity", "Maktoob","MeowMail", "MyOwnEmail", "MyPersonalEmail", "MyPlace",
						 "MyRealBox", "MyWay","Netscape Mail","","", "OperaMail","OutGun","ParsMail","Rediff Mail", "SiteWarp",
						 "Snowboard","","SwissMail","UltimateEmail", "Unlimited Mail","Yahoo",".net");
	$message = str_ireplace($email_words, '', $message);

	return $message;


Hi Test,
Good Morning.
How are you? I am good.
Mobile number => 1234567890
Email address => and
Website address =>
Email address => test at yahoo dot org
Email address => test at gmail dot com
See you soon.Bye.


echo"<br>".$Test2 = sanitize_message($MyMessage)."<br>";


I am removing all numbers from message but I want to remove only numbers more than 4 in length.

Any idea?