preg_replace strange behaviour, duplicates
| From: | Adz07 | Date: | Fri, 15 Aug 2008 16:00:16 +0000 |
| Subject: | preg_replace strange behaviour, duplicates | ||
| Groups: | php.general php.general | ||
| Request: | Send a blank email to php-general+get-278153@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.