php preg_match_all函数提取html数据
php里得到一个html返回值。其中含有一下table。请问如何截取出每个tr下的所有td。或者换个方法,怎么把所有tr,td转换成数组。不知道正则该怎么写,做字符截取的...
php里得到一个html返回值。其中含有一下table。请问如何截取出每个tr下的所有td。或者换个方法,怎么把所有tr,td转换成数组。 不知道正则该怎么写,做字符截取的时候得计算长度,每次都不一样,比较麻烦。
求大神指教
<table class="listTable" width="99%" border="1" align="center" >
<tbody>
<tr align="center">
<td colspan="2" rowspan="10">中文1</td>
<td>229104</td>
<td align="left">中文2</td>
</tr>
<tr align="center">
<td colspan="2" rowspan="10">中文1</td>
<td>229104</td>
<td align="left">中文2</td>
</tr>
</tbody>
</table> 展开
求大神指教
<table class="listTable" width="99%" border="1" align="center" >
<tbody>
<tr align="center">
<td colspan="2" rowspan="10">中文1</td>
<td>229104</td>
<td align="left">中文2</td>
</tr>
<tr align="center">
<td colspan="2" rowspan="10">中文1</td>
<td>229104</td>
<td align="left">中文2</td>
</tr>
</tbody>
</table> 展开
1个回答
展开全部
你用这个试试,我简单测试了一下。
这个是匹配整个tr的,你看看可行
$str = '<table class="listTable" width="99%" border="1" align="center" >
<tbody>
<tr align="center">
<td colspan="2" rowspan="10">中文1</td>
<td>229104</td>
<td align="left">中文2</td>
</tr>
<tr align="center">
<td colspan="2" rowspan="10">中文1</td>
<td>229104</td>
<td align="left">中文2</td>
</tr>
</tbody>
</table>';
preg_match_all('/<tr[^>]*>[^<]*<td[^>]*>(.*)<\/td>[^<]*[^<]*<td[^>]*>(.*)<\/td>[^<]*[^<]*<td[^>]*>(.*)<\/td>[^<]*<\/tr>/isU', $str, $matches);
echo "<pre>";
var_dump($matches);
exit;
追问
我用正则测试工具测没匹配到。还请再教教。可以的话,可以加我Q吗
追答
公司不给用qq,可以的话可以加微信。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询