我想做的是将输入字符串中的“[replace]”替换为替换数组中的相应值。值的总数会改变,但替换数组中的数字始终与输入字符串中的数字相同。我试过用preg_replace()
和preg_replace_callback()
这样做,但我不能得到正确的模式[replace],我也试过用vsprintf()
,但<table width="100%">
中的%
把它搞乱了。
替换数组:
$array = array('value 1','value 2','value 3');
输入字符串
$string = '
<table width="100%">
<tr>
<td>Name:</td>
<td>[replace]</td>
</tr>
<tr>
<td>Date:</td>
<td>[replace]</td>
</tr>
<tr>
<td>Info:</td>
<td>[replace]</td>
</tr>
</table>
';
预期结果
<table width="100%">
<tr>
<td>Name:</td>
<td>value 1</td>
</tr>
<tr>
<td>Date:</td>
<td>value 2</td>
</tr>
<tr>
<td>Info:</td>
<td>value 3</td>
</tr>
</table>
1条答案
按热度按时间cotxawn71#
用
%%
转义表的%
:输出: