我有一个远程html文件,我正在从中提取一个表。现在,我正在尝试使用正则表达式来获取此表中的各个行。
以下是此表格的示例格式:
<tbody style="text-align: left;">
<tr class=" even" style="text-align: left;">
<td style="text-align: left;"><a href="http://www.sdfkhy.com/%7Epbdsfby">TEXT1 </a></td>
<td style="text-align: left;">TEXT2</td>
<td style="text-align: left;">TEXT3</td>
</tr>
<tr style="text-align: left;">
<td style="text-align: left;"><a href="http://www.JDKSF.COM/index.html">TEXT3</a><br /><span class="style3">TEXT4</span></td>
<td style="text-align: left;">TEXT5</td>
<td style="text-align: left;">TEXT6</td>
</tr>
</tbody>
我尝试了以下内容:
#<tr[^>]*>(\r\n.*)*</tr>#
#<tr[^>]*>(.*?)*</tr>#
#<tr[^>]*>(.*)*</tr>#
这些似乎都不起作用。我需要在两者之间得到一切 和标签,即每行分别成一个数组。 请帮忙。
编辑:我需要根据要求使用REGEX,所以请不要建议使用DOM PARSER。
答案 0 :(得分:1)
Html并不严格..(例如,有时html可以有结束标签,有时它没有它)
Regex
用于常规一致表达不不规则表达式
使用DOMDocument->loadHTML()解析HTML。
相信我这个简单的解析 html而不是使用regex
如果你准备承担风险
这是
的正则表达式/<tr.*?>(.*?)</tr>/
使用s
(PCRE_DOTALL)选项