Re: preg_replace strange behaviour, duplicates

From: Date: Wed, 20 Aug 2008 15:26:06 +0000
Subject: Re: preg_replace strange behaviour, duplicates
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-278405@lists.php.net to get a copy of this message
You know what's not supposed to be next in the second string, and that's the word Duo. Thank you Micah Gersten onShore Networks Internal Developer http://www.onshore.com Adz07 wrote: > Problem is that a negative assertion assumes i know what is going to come > after the match, but i don't. I am a bit stuck now :( > > > 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 (#278405) next »