preg_replace strange behaviour, duplicates

From: Date: Fri, 15 Aug 2008 15:59:29 +0000
Subject: preg_replace strange behaviour, duplicates
Groups: php.general php.general 
Request: Send a blank email to php-general+get-278152@lists.php.net to get a copy of this message
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! :( ) -- View this message in context: http://www.nabble.com/preg_replace-strange-behaviour%2C-duplicates-tp19001166p19001166.html Sent from the PHP - General mailing list archive at Nabble.com.

« previous php.general (#278152) next »