正则表达式(正则表达式)用于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