Actually I'll just say it here, since the bumfuques who do this stuff don't read anyway. What I've been thinking of doing is treating any post with an A tag as bad HTML unless it contains a special attribute. For those following this at home, an attribute is like href="url". We could form them in the same way except require an additional or substitute attribute. For example, instead of href we could require the surname of the nice lady who writes letters to Humph. Another thing that occurs to me is to replace the A entirely, with some other nonstandard tag which will get converted to A on output. Thoughts?
On reviewing my own code, and thinking about it from a user-friendliness standpoint, I'm inclined to go for the latter. It's trivial to implement and easy to explain in the error message, in such a way that users will get it and passing spammers will not.
[Dan] Agreed! Would be nice to still be able to post links with a special tag. [rab] Can you get round your a link prohibition in the same way as at Dunx' place?