$str = '1[t]2[t]3[t]4[t]5';
$arr = array('a','b','c','d');
preg_replace('/\[t]}/',$arr,$str);上面这个执行不了,请问应该怎么样才可以正确的执行?
$str中的每个[t]对应$arr中的每个索引值最好能不用循环
$arr = array('a','b','c','d');
preg_replace('/\[t]}/',$arr,$str);上面这个执行不了,请问应该怎么样才可以正确的执行?
$str中的每个[t]对应$arr中的每个索引值最好能不用循环
$pattern = array(
'@(\[t\])@',
'@(\[t\])@',
'@(\[t\])@',
'@(\[t\])@',
'@(\[t\])@',
);
$result = preg_replace($pattern,$arr,$str);
中的[t]是不定的,可能是4个,也可能是2个但不管$str中的[t]有几个
$arr始终是与$str中的[t]个数一样
'@(\[t\])@',
'@(\[t\])@',
'@(\[t\])@',
'@(\[t\])@',
'@(\[t\])@',
);
$result = preg_replace($pattern,$arr,$str);
$str = '1[t]2[t]3[t]4[t]5';
$arr = array('a','b','c','d');
$num = count($arr);
while($num--)
{
$pattern[] = ('/(?<=\[)t(?=\])/');
}
$str = preg_replace($pattern,$arr,$str, 1);
var_dump($str);
$arr = array('a','b','c','d');
$i=0;
echo preg_replace('/\[t\]/e','$arr[$i++]',$str);
$arr = array('a','b','c','d');
$p = array_fill(0, count($arr), '/\[t\]/');
echo preg_replace($p, $arr, $str, 1);