2011-01-29 74 views
0

我想用一个数字替换给定字符串的每个实例。PHP:带唯一替换的preg_replace

例如:

<?php 

$string = "Hello Foo Text Apple" 
preg_replace($pattern, $pattern.$i++, $string); 

//output  
Hello0 Foo1 Text2 Apple3 

?> 

$模式是一个正则表达式查询,但是在这种情况下,我已经使用纯文本

+0

你想替换或附加数字? – jwerre 2011-01-29 17:20:49

+0

@jwerre:我想追加一个数字/字符串 – Zebra 2011-01-29 17:31:15

回答

1
$string = "Hello Hello Hello Test Hello Test"; 

$i = 0; 
$string = preg_replace("/\w+/e", '$0 . $i++', $string); 
2

如果你正在使用PHP 5.3:

$string = "Hello Hello Hello Hello"; 
$i = 0; 
preg_replace_callback($pattern, function($matches) use ($i) { 
    return $matches[0].$i++; 
}, $string);