conditional preg match

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View

The following bit of code does a preg match and does something if true  
(sets $browser to ppcie)

Without using if then and else's how do I code it so it does not equal  
what it is testing for?  So if it does not find ppc in the $agent then  
it does something else/sets it to something else?

$agent = getenv("HTTP_USER_AGENT");
if (preg_match("/PPC/i", "$agent"))  {
    $browser = 'PPCIE';



Re: conditional preg match

toedipper said the following on 29/09/2005 21:49:
Quoted text here. Click to load it

What on earth's wrong with if/else?

But alternatively:

    $browser = (preg_match(...)) ? 'PPCIE' : 'something else';


Re: conditional preg match


Quoted text here. Click to load it
                        ^      ^

IMO you should use >$agent< instead of >"$agent"<.
Furthermore you are only doing a check whether one string is in another.
Use stripos (PHP5), strpos in combinanation with strtolower or stristr  
for this.
IIRC the second is the fastest for PHP4.

if (strpos(strtolower($agent), 'ppc') !== false) {
     // ...

Hero Wanders

Site Timeline