2011-01-29 4 views
0

与えられた文字列の各インスタンスを数字に置き換えたい。PHP:一意の置換えを伴うpreg_replace

例:

<?php 

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

//output  
Hello0 Foo1 Text2 Apple3 

?> 

$パターンは、正規表現のクエリですが、この場合には、私はプレーンテキストあなたがPHP 5.3を使用している場合

+0

番号を置換または追加しますか? – jwerre

+0

@ jwerre:数値/文字列を追加したい – Zebra

答えて

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

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

ありがとうございますが、増分を停止してはいけません。例えば。 Hello1 Test2 Something3 – Zebra

+0

@dany:コードが更新されました。 '$ i'を数え始めたいところに設定してください。 –

+0

優秀、ありがとう! – Zebra

2

を使用しています

$string = "Hello Hello Hello Hello"; 
$i = 0; 
preg_replace_callback($pattern, function($matches) use ($i) { 
    return $matches[0].$i++; 
}, $string); 
関連する問題