I have the option to add those calls all together in the footer, with the advantage of doing so being able to add the class to the footer too. And since at that time I know how many links there are to be obfuscated, I can avoid adding the class if there are none. But it also has the problem of
wp_enqueue_script() not working when called inside
wp_print_footer_scripts, and also all calls are together in the same place, easier for spambots to find them.
If I add each call in the side of each link, they become spreaded among the HTML document and harder for spambots. But I must add the js to the header so that it's available when a call is done, and also when there is no call in the whole document, and these calls can't be properly XHTML validated because of that str_replace().
I couldn't use your idea of reverting the replacement because
the_content() already prints it. What I could do is use
get_the_content() and apply the filters. But as I said I can't ask other ppl to do the same, and if I do so in my theme I'm leaving the standard.
The sad thing is that I can't see why it's hardcoded and not in a filter, there must be a very serious reason and whoever did that didn't add the explanation and seems to not be available anymore for explaining, and current ppl with authority to change it are neglecting to do so, maybe because they also don't know and are afraid of changing and creating a bug.
It's a simple solution and damn ugly. And nobody seems to have the courage to fix it.