Re: preg_replace anything that isn't WORD

From: Date: Mon, 24 Aug 2009 20:39:58 +0000
Subject: Re: preg_replace anything that isn't WORD
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-297146@lists.php.net to get a copy of this message
Use preg_replace_callback instead! preg_replace_callback is better performance than preg_replace with /e. --------------------------------------------------------------------------------- code $str="cats i saw a cat and a dog"; $str1=preg_replace_callback("/(dog|cat|.)/is","call_replace",$str); echo $str."<BR/>"; echo $str1; function call_replace($match){ if(in_array($match[0],array('cat','dog'))) return $match[0]; else return ""; } 2009/8/24 tedd <tedd.sperling@gmail.com>: >> On Sat, Aug 22, 2009 at 12:32 PM, “•ÈýÏÝ“•ÂÔ<danondaniel@gmail.com> wrote: >>> >>> Lets assume I have the string "cats i saw a cat and a dog" >>> i want to strip everything except "cat" and "dog" so the result >>> will be >>> "catcatdog", >>> using preg_replace. >>> >>> >>> I've tried something like /[^(dog|cat)]+/ but no success >>> >> > What should I do? > > Lot's of ways to skin this cat/dog. > > What's wrong with exploding the string using spaces and then walking the > array looking for cat and dog while assembling the resultant string? > > Cheers, > > tedd > > > -- > ------- > http://sperling.com > http://ancientstones.com O@Ë•C0éYÿ2M0áH > http://earthstones.com > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > >

« previous php.general (#297146) next »