我有一个字符串可以这样说:
$string="Hi! [num:0] with [num:1]";
和这样的数组:
$array[0]=array('name'=>"na","id"=>22);
$array[1]=array('name'=>"nam","id"=>19);
现在,当我尝试用这样的方式替换这个字符串时preg_replace()
:
$string=preg_replace('#\!\s+\[num:(\d+)\]#ie','.$array[\1]["name"]',$string);
我在替换中尝试这样做的是搜索模式 [num:x],然后将其替换为键“x”的相应数组中的名称
它适用于第一场比赛,但根本不适用于第二场比赛。这意味着在此之后我得到的输出是:
$string="Hi! na with [num:1]";
虽然我想要的是:
$string="Hi! na with nam";
我应该对此做出什么改变?