Re: preg_replace strange behaviour, duplicates

From: Date: Fri, 15 Aug 2008 19:09:37 +0000
Subject: Re: preg_replace strange behaviour, duplicates
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-278189@lists.php.net to get a copy of this message
Take a look at the negative assertions on this page: http://us2.php.net/manual/en/regexp.reference.php Thank you, Micah Gersten onShore Networks Internal Developer http://www.onshore.com Adz07 wrote: > I am trying to nail down a bit of code for changing processor names depending > on matches. > Problem i am having is the replacement takes place then it seems to do it > again replacing the text just replaced as there are similar matches > afterwards. example (easier) > > $string = "The new Intel Core 2 Duo T8300"; > > $patterns = array("/Intel Core 2 Duo/","/Intel Core 2/"); > > $replacements = array("/Intel Core 2 Duo Processor Technology/","/Intel Core > 2 Processor Technology/"); > > I would expect to get the following: > > The new Intel Core 2 Duo Processor Technology T8300 > > but i get > > The new Intel Core 2 Processor Technology Duo Processor Technology T8300 > > I can see why its doing it, reading the string in and making the replacement > but then reading the string in for the next pattern, but i don't want it to > do this. How do i stop preg_replace from reading in the same part of the > string that has been replaced already? > > (it's a bad day! :( ) >

« previous php.general (#278189) next »