To replace any domain is a bit of a chore I think but his should be an improvement:
function filterInfo($text) {
$replaceString = '<span class="red"><abbr title="Hidden">X</abbr></span></a>';
//Remove Email
$filter1 = eregi_replace("\w*[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+\w*", $replaceString, $text);
//Remove Url
$filter2 = preg_replace('@(http(s)*://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)@', $replaceString, $filter1);
//Remove Numbers
$filter3 = eregi_replace('[0-9]', $replaceString, $filter2);
return $filter3;
}
You should try studying regular expressions. They are extremely powerful.