On Fri, February 23, 2007 5:24 am, [EMAIL PROTECTED] wrote:
> strstr returns a string (in case the needle is found),
> but a boolean if there is no needle in the haystack.

As the manual suggests, using the === operator to check for FALSE is
probably the best way.

> I am trying to make a readable evaluation of some tests, but this
> fails
> to work as supposed because of
> - undefined results when "OR"ing strings with possible string (?)
> - use of bitwise OR operator ("|") where I am uncertain if I can
>   write anything like $a ||= $b;
>
> Please read this snippet and tell me your ideas ;)
> Thanks
> Ralf
>
>     $oLen = strlen ($commentary);
>     $isSpam = ! strstr($_POST['Name']," ");
>     $isSpam |=  strlen (str_replace("http://","",$commentary)) <
> $oLen;
>     $isSpam |=  strstr($_POST['Name'],"@");
>     $isSpam |=  stristr($_POST['Name'],"Casino");

Using |= directly on these things is probably going to get ugly
quickly, as you will probably need something more like:
$isSpam |= (strstr($_POST['Name'],'@')===false ? 1:0);


Stepping back from the minutae of coding style...

Writing your own spam filter is probably a Bad Idea, as re-inventing
this particular wheel is far more effort than you have yet realized,
and PHP is almost certainly the wrong weapon in the first place...

I say this, having attempted to do it myself. :-)

Install Spam Assassin or something similar, and get way better results.

-- 
Some people have a "gift" link here.
Know what I want?
I want you to buy a CD from some starving artist.
http://cdbaby.com/browse/from/lynch
Yeah, I get a buck. So?

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to