我想找到:
<td> </td>
显示的页面上显示12x。 并用变量$ myvalue替换它,这是一个包含12个值的数组。
第一次出现:
<td>$myvalue[0]</td>
第二次发生:
<td>$myvalue[1]</td>
ETC。
我需要在某种foreach find函数中使用它,但不知道如何使用str_replace或preg_replace来解决这个问题。
有谁知道如何解决这个问题?感谢。
编辑 - &gt;我的新想法是:
$i=0;
foreach($myvalue as $value) {
str_replace('<td>$myvalue[$i]</td>',$new,$html);
$i++;
}
但我不知道如何只用str_replace替换第一次出现。
答案 0 :(得分:0)
使用preg_match()
并迭代匹配。
编辑:我发现PHP Live Regex是编写正则表达式的一种非常好的方式。
试试这个:
<?
$matches = preg_match_all("/<td> <\/td>/", $input_lines, $output_array);
?>
答案 1 :(得分:0)
$text = '<td> </td><td> </td><td> </td><td> </td><td> </td>';
$replacements = [1,2,3,4];
while ($replacements) {
$text = preg_replace('/ /', array_shift($replacements), $text, 1);
}
测试通过5.4.29。 请注意,这不会检查边界条件。