0

preg_replace を使用して、php 文字列内のテキストを別の値に置き換える方法を知りたいです。

例えば ​​:

この結果が欲しい:

私はこのコードを使用しました:

$string = 'http://www.mysite.com/?uid=123456<br/>
            http://www.mysite.com/?uid=123456<br/>
            http://www.mysite.com/?uid=123456';

$string = preg_replace(array("~123456~", "~123456~", "~123456~"), array("456789","789456","159753"), $string);

echo $string;

しかし、それは私にこの結果を与えます:

助けはありますか?

ありがとう !

4

2 に答える 2

2

試す:

$string = 'http://www.mysite.com/?uid=123456<br/>
        http://www.mysite.com/?uid=123456<br/>
        http://www.mysite.com/?uid=123456';

$newString = preg_replace_callback('/([0-9]{6})/im', function($matches){ return rand(100000, 999999); }, $string);
于 2013-05-30T15:47:01.683 に答える
1

あなたはそれをテスト"~http://www\.mysite\.com/\?uid\=([0-9]+)~si"して異なる uid値ですべてを見つけることができpreg_replace_callback、チェックに使用してそれらを置き換えること ができます

于 2013-05-30T15:41:55.510 に答える