PHP:preg_replace具有唯一替换

时间:2011-01-29 17:09:40

标签: php regex preg-replace

我想用一个数字替换给定字符串的每个实例。

例如:

<?php

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

//output    
Hello0 Foo1 Text2 Apple3

?>
$ pattern 是一个正则表达式查询,但在这种情况下我使用了纯文本

2 个答案:

答案 0 :(得分:2)

如果您使用的是PHP 5.3:

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

答案 1 :(得分:1)

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

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