Look at the HTML: the text is non-linear; this is not
something that a simple pattern matcher is going to find.
It still screws up any mailto: linking of addresses and spaces
are rendered around the "@" on some browsers (at least the
text-based ones like w3m, links, and lynx).
=v= I do something along these lines:
Breaking lines up with comments doesn't seem to bother *any*
browser, so long as I keep it tight and don't introduce
whitespace. It's not difficult for a parser to strip all
comments, but I've managed to get the spamtrap address culled
and used by spammers, so I've managed to mess with some of them.
=v= My approach hinges on replacing @ with © (® is also
a possibility), and I suppose it could be taken a step further
by replacing . with · -- you end up with something a
human can figure out and parsers don't seem to have (yet).
=v= I've pretty much given up on mailto: URLs. If anything, I
just use things like "mailto:REPLACE THIS WITH MY EMAIL ADDRESS".