解析已知变量之间的信息


Parsing information between known variables

我不想麻烦你,我知道这个问题已经被问过一千遍了,但我就是不理解这个概念。我想知道有没有人能告诉我怎么做,这是我想做的:

我在html文件中有一组信息。该文件上传到服务器,我需要从设置参数(演示代码如下)的文件中解析信息。我已经读了一个多星期的解析和理解它的一些,但只是不掌握的概念,我想我只是需要有人做一个在这个演示,让我理解,如果你可以,打破搜索变量请。下面是演示:

<hr>
<a id="Operating_System"></a>
<table WIDTH="100%" BORDER="0" CELLSPACING="0" ALIGN="CENTER">
<CAPTION ALIGN="TOP"><FONT size="5">Operating System</FONT></CAPTION>
<tr><td><a href="#TOC">Top</a></td></tr>
<TR ALIGN="LEFT" BGCOLOR="#00FF00">
<TH>Property</TH>
<TH>Value</TH>
</TR>
<TR BGCOLOR="#F0F0F0">
<TD>Name</TD>
<TD>Windows 7 Professional x64 Service Pack 1</TD>
</TR>
<TR>
<TD>Features</TD>
<TD>Terminal Services in Remote Admin Mode, 64 Bit Edition, Media Center Edition, Multiprocessor Free</TD>
</TR>
<TR BGCOLOR="#F0F0F0">
<TD>Up Time</TD>
<TD>5 Days 22 Hours 4 Minutes 26 seconds</TD>
</TR>
<!-- Operating System Duration: 1.853 seconds -->
</table>
<hr>
<a id="Installed_Updates"></a>
<table WIDTH="100%" BORDER="0" CELLSPACING="0" ALIGN="CENTER">
<CAPTION ALIGN="TOP"><FONT size="5">Installed Updates</FONT></CAPTION>

这就是我想要完成的。在这个演示中,我需要解析的信息,但只有某些信息回来。这里有更多的信息,但每个文档只需要大约30个东西。首先,我需要从Operating_System到Installed_Updates搜索,这将给我收集信息的第一个集合区域(还有其他组,所以我将为每组信息制作一个)。我需要使搜索更具体,如从<TR></TR>,这将给我我需要的实际信息集。之后,只需捕获第一个'name'和'value'以存储在数据库中。

再一次,我知道它在那里,但我只是没有得到简单表达式的整个概念。当我在一个实际的文档上做了几次之后,我想我会找到窍门的。

非常感谢大家的帮助,我真的很感激。

这只适用于有少量变化的固定HTML。但如果你只想要一个简单的例子,这里有一个:

preg_match('#<TD>Up Time</TD>.*?<TD>(['w ]+)</TD>#is', $html, $match);
print $match[1];                   # ^^^^^^

参见https://stackoverflow.com/questions/89718/is-there-anything-like-regexbuddy-in-the-open-source-world获取一些工具。和http://regular-expressions.info/学习语法。

但如前所述,如果您想提取大量值,还有更简单的选择