Re: preg_replace strange behaviour, duplicates
| From: | Micah Gersten | 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! :( )
>>
>>
>
>