正则表达式(正则表达式)用于PHP中的HTML解析

可能重复:
RegEx匹配除XHTML自包含标签之外的开放标签

我陷入了奇怪的正则表达式问题,我解析了PHP中的一些HTML表格。

正在使用RegEx: <td[^>]*>(h.*?)</td>

<td>other data</td> <td>other data</td><td>Data_needed</td> <td>--</td>

但它也匹配所有其他数据。

现在我想将它匹配到<td>Data_needed</td> <td>--</td>

我尝试了一些正则表达式,它给出了输出

other data</td> <td>other data</td><td>Data_needed</td> <td>--

从第一个<td>到最后一个</td>

但我希望Data_needed来自<td>Data_needed</td> <td>--</td>


不要使用正则表达式来解析HTML或XML(包括XHTML)。 永远。

改为使用HTML或XML解析器。 作为第一次打击,快速搜索“php html parsing”开启了这个工具Simple HTML DOM。 PHP还内置了DOM和SAX工具。


相反,您可以使用简单的HTML DOM。

用PHP5 +编写的HTML DOM解析器可让您以非常简单的方式操作HTML!


一般的HTML解析不应该使用正则表达式来完成,但是如果你的HTML很简单并且没有嵌套,你可以尝试

.*<td[^>]*>(.*?)</td>s*<td>--</td>
链接地址: http://www.djcxy.com/p/76859.html

上一篇: Regular Expression (Regex) for HTML parsing in PHP

下一篇: Getting text from inside an HTML tag within a local file with grep