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. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php