HTML表使用PHP用正则表达式替换字符串

时间:2010-10-19 19:40:16

标签: php regex

我有一堆数据表,我需要为它们添加一个php函数。以下是数据通常的样子

<TR class="tr7">
 <TD class="td70"><FONT class="ft5">Chateauguay</FONT></TD>
 <TD class="td71">&nbsp;</TD>
 <TD class="td72">80</TD>
 <TD class="td73">&nbsp;</TD>
 <TD class="td74">180</TD>
 <TD class="td73">&nbsp;</TD>
 <TD class="td75">290</TD>
 <TD class="td76">&nbsp;</TD>
 <TD class="td73">&nbsp;</TD>
 <TD class="td72">145</TD>
 <TD class="td73">&nbsp;</TD>
 <TD class="td74">190</TD>
</TR>

以下是我需要添加的内容。

<TR class="tr11">
 <TD class="td70"><FONT class="ft5">Boucherville</FONT></TD>
 <TD class="td71">&nbsp;</TD>
 <TD class="td72"><?=t(80)?></TD>
 <TD class="td73">&nbsp;</TD>
 <TD class="td74"><?=t(180)?></TD>
 <TD class="td73">&nbsp;</TD>
 <TD class="td75"><?=t(290)?></TD>
 <TD class="td76">&nbsp;</TD>
 <TD class="td73">&nbsp;</TD>
 <TD class="td72"><?=t(145)?></TD>
 <TD class="td73">&nbsp;</TD>
 <TD class="td74"><?=t(190)?></TD>
</TR>

注意###的价格会被添加到###的中间位置。

我想通过PHP做到这一点,我想的是preg exp,但我甚至不知道从哪里开始。 Obv,写入和读取部分是fopen和fwrite / fread等。

  • 史蒂夫

2 个答案:

答案 0 :(得分:0)

在每个文件上尝试使用此preg替换。

return preg_replace("/\>([0-9]+)\</", "><?=t(\$1)?><", $text);

答案 1 :(得分:0)

这个正则表达式应该为你做到:

echo preg_replace('~>([0-9]+)<~', '><?=t($1)?><', $html);

将屈服:

<TR class="tr7">
 <TD class="td70"><FONT class="ft5">Chateauguay</FONT></TD>
 <TD class="td71">&nbsp;</TD>
 <TD class="td72"><?=t(80)?></TD>
 <TD class="td73">&nbsp;</TD>
 <TD class="td74"><?=t(180)?></TD>
 <TD class="td73">&nbsp;</TD>
 <TD class="td75"><?=t(290)?></TD>
 <TD class="td76">&nbsp;</TD>

 <TD class="td73">&nbsp;</TD>
 <TD class="td72"><?=t(145)?></TD>
 <TD class="td73">&nbsp;</TD>
 <TD class="td74"><?=t(190)?></TD>
</TR>