tedd wrote: >>> B) to read it via text contained within your web site. >> C) Run it through a regular HTML parser. > > And where does the HTML parser get it's text to parse if not from the web > site? I was distinguishing between greping text looking for something that looked like an email address and parsing the HTML (which would do such things as convert character references to normal characters). > works for me and others -- sorry you had problems -- will look into it. Seems to be working now, although it isn't clear what you were proposing. Requiring the user to pass a CAPTCHA test before giving them the email address? That has the usual drawbacks of such tests (as I referenced before). Hiding the email address within a CAPTCHA style obfuscation? Same problem, with the extra issue that the user has to transcribe a much longer piece of text and failue is less obvious. >>> One way is to use Enkoder (it's javascript): >>Which requires the end user to have JavaScript turned on, > Yes, that's the reason I said "it's javascript". Which could mean "The end user must have JavaScript turned on" OR "You must have JavaScript turned on to generate some non-JavaScript that obfuscates your email address". >>and assumes that >>bots can't parse JavaScript (they can, maybe not all, but certainly some). > The point isn't that it can't be done, but rather that you create > enough trouble for them to pass on your address. That point is that JavaScript isn't too much trouble for some bots. > If you think writing > a parsing routine is simple, then write a routine to parses this: <snip> Oh what fun. I've never played with reading JavaScript programatically before. It can't be that hard ... #!/usr/bin/perl use strict; use warnings; use JavaScript::SpiderMonkey; my $js = JavaScript::SpiderMonkey->new(); $js->init(); my $document = $js->object_by_path("document"); my $extracted_html; $js->function_set("write", sub { $extracted_html .= join ('', @_) }, $document); my $rc = $js->eval(q! function hiveware_enkoder(){var i,j,x,y,x= // etc etc etc while(x=eval(x));}hiveware_enkoder(); !); print $extracted_html; >>> at last count less than 9 percent of surfers don't have javascript. >>There is no way to reliably gather such statistics. > Reliable? You can rely on whatever you feel comfortable with. For me: I could be comfortable relying on Del Boy to deliver quality merchandise at a good price. That doesn't make him reliable. >>PHP won't provide you with a way to display an email address to a human >>but not to a spambot. > I'm not talking about displaying an email address. I'm talking about > creating a mailto: So you generate a mailto: using PHP ... and the email address is in the source, displayed to anybody who can find their view menu. >>I'm not going to buy a book so I can explain why the technique won't work. > Your choice OR you could visit a book store. Assuming they have it in stock, I'm sure the staff would be more than happy for me to stand then with merchandise open jotting down notes. -- David Dorward <http://blog.dorward.me.uk/> <http://dorward.me.uk/> Home is where the ~/.bashrc is -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php