The problem is your dot, a dot matches one character, you need to match lots of characters one after the other
//in this case it's 4 characters before and 7 after
" [email]mere@blog.nl[/email] "
__****@*******_
Also, it's not just any character you want to match, it's any character apart from a space. So, any character of the class [\s] one or more times (+). And one last thing, I'm assuming you don't really want to match the spaces as well, you just want the email address itself? This means we can take them out (the character class ensures we don't match any spaces).
This gives us
[^\s]+@[^\s]+
Now this is all well and good, it matches emails no problem, however, let's have a look at some other things it would match as well.
-
We're allowing all kinds of messy characters in either part which can't go in.
"/\n&(@thesite.com
-
we ignore the fact that there is a required form for the second part which the following does not adhere to
anaddress@notasite
[/list=a]
The first problem is easy, we add a couple of extra characters in the character class which we don't want there, this gives us
[^\s"'\n\&\(\)]
In fact, it's probaby easier to say what is alowed in the first character class. We are allowed alphanumerics, underscores, hyphens and a couple more which I'll let you find out, this gives us.
[a-zA-Z0-9_-\.]
Now for the second refinement. The second part of the email address is the domain name, this must end in somthing like .com or .co.uk or .com.hk or .nl. This can be expressed as "At the end of the domain there must be a dot followed by between two and four alphanumerics. This can be followed by the same expression again but does not have to be." So that's .[a-zA-Z0-9]{2,4} (a dot and then between two and four alphanumerics), (.[a-zA-Z0-9]{2,4}){1,2} (either one or two times)
Putting this all together gives us the following.
$regex="[a-zA-Z0-9_-\\.]+@[a-zA-Z0-9_-\\.](\\.[a-zA-Z0-9]{2,4}){1,2}";
preg_match_all("/".$regex."/",$myText,$matches);
$email=$matches[0];
HTH
Bubble