Hi,
The following should do what you need.
<?
$mystring = "rich@fatal-design.com";
$myarray[0] = "@";
$myarray[1] = "-";
$myarray[2] = "\.";
preg_match_all ("/(" . implode('|', $myarray) . ")/", $mystring, $matches);
echo "<pre>";
print_r($matches);
?>
The array $matches will contain the characters that have been matched in the original string. Note that if you need to use what PCRE will consider a "special character" you should escape it in your array. That is why there is a slash infront of the fullstop, it's actually only matching the fullstop (period).
I'm sure there are other ways to do this - but it works for me and it's all neat on one line of commands 🙂
Cheers,
Rich