使用PHP preg_Replace用不同的值替换某些文本
我想知道如何使用preg_replace将php字符串中的一些文本替换为不同的值 例如:使用PHP preg_Replace用不同的值替换某些文本,php,random,preg-replace,str-replace,uniqueidentifier,Php,Random,Preg Replace,Str Replace,Uniqueidentifier,我想知道如何使用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
$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;
$string='1!'http://www.mysite.com/?uid=123456
http://www.mysite.com/?uid=123456
http://www.mysite.com/?uid=123456';
$string=preg_replace(数组(“~123456~”、“~123456~”、“~123456~”),数组(“456789”、“789456”、“159753”),$string);
echo$字符串;
但它给了我这个结果:
”~http://www\.mysite\.com/\?uid\=([0-9]+)~si“
它可以找到所有具有不同uid
值的对象,您可以使用preg\u replace\u回调来检查和替换它们您可以测试”~http://www\.mysite\.com/\?uid\=([0-9]+)~si”
它可以找到所有具有不同uid
值的对象,您可以使用preg\u replace\u callback
检查并替换它们尝试:
$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);
$string='1!'http://www.mysite.com/?uid=123456
http://www.mysite.com/?uid=123456
http://www.mysite.com/?uid=123456';
$newString=preg_replace_callback('/([0-9]{6})/im',函数($matches){return rand(100000,999999);},$string);
试试:
$string='1!'http://www.mysite.com/?uid=123456
http://www.mysite.com/?uid=123456
http://www.mysite.com/?uid=123456';
$newString=preg_replace_callback('/([0-9]{6})/im',函数($matches){return rand(100000,999999);},$string);
您是如何获得所需结果中的uid编号的?它们看起来是随机的?你是如何得到你想要的结果中的uid号的?它们看起来是随机的?