求php正则匹配td内的数据

<trclass="text-c"><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</... <tr class="text-c">

<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8 18:55</td>
<!--设防状态-->
<td>9</td>
<!--围栏状态-->
<td>10</td>

<td class="td-status">11</td>

<td class="td-status"12</td>

<td class="td-manage" style="max-width: 300px;">13</td>
</tr>
展开
 我来答
紫薇参星
科技发烧友

2018-06-28 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3603万
展开全部

先用正则表达式匹配<tr>标签内的数据,再用正则表达式匹配<td>标签内的数据

完整的php程序如下

<?php

$str = '<tr class="text-c"><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8 18:55</td><!--设防状态--><td>9</td><!--围栏状态--><td>10</td><td class="td-status">11</td><td class="td-status"12</td><td class="td-manage" style="max-width: 300px;">13</td></tr>';

preg_match_all ('/<tr class="text-c">(.+?)<\/tr>/im', $str, $result);

for ($i=0; $i<count($result[1]); $i++) {

 $s=$result[1][$i];

 preg_match_all ('/<td.*?>(.+?)<\/td>/im', $s, $matches);

 for ($j=0; $j<count($matches[1]); $j++) {

  echo $matches[1][$j]."<br>";

 }

}

?>

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式