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