qq_41265012 2021-10-29 14:49 采纳率: 70%
浏览 41
已结题

PHP 提取table指定列怎么处理


 
<table class="ntable">
<tbody>
<tr>
<th class="tx">序号</th>
<th>项目1</th>
<th>项目2</th>
<th>项目3</th>
<th>项目4</th>
<th>项目5</th>
<th>项目6</th>
</tr>
 <tr>
<td class="tx">1</td>
<td>内容1</td>
<td>内容2</td>
<td>内容3</td>
<td>内容4</td>
<td>内容5</td>
<td>内容6</td>
</tr> 
 <tr>
<td class="tx">2</td>
<td>内容1-1</td>
<td>内容2-2</td>
<td>内容3-3</td>
<td>内容4-4</td>
<td>内容5-5</td>
<td>内容6-6</td>
</tr> 
 <tr>
</tbody>
</table>

我要提取项目2和项目3两列数据,PHP应该怎么处理

  • 写回答

1条回答 默认 最新

  • 一把编程的菜刀 2021-10-29 15:11
    关注
    <?php
    header("Content-Type: text/html; charset=gb2312");
        $str=' 
    <table class="ntable">
    <tbody>
    <tr>
    <th class="tx">序号</th>
    <th>项目1</th>
    <th>项目2</th>
    <th>项目3</th>
    <th>项目4</th>
    <th>项目5</th>
    <th>项目6</th>
    </tr>
     <tr>
    <td class="tx">1</td>
    <td>内容1</td>
    <td>内容2</td>
    <td>内容3</td>
    <td>内容4</td>
    <td>内容5</td>
    <td>内容6</td>
    </tr> 
     <tr>
    <td class="tx">2</td>
    <td>内容1-1</td>
    <td>内容2-2</td>
    <td>内容3-3</td>
    <td>内容4-4</td>
    <td>内容5-5</td>
    <td>内容6-6</td>
    </tr> 
     <tr>
    </tbody>
    </table>';
    $pattern='/\s+/';
    $str=preg_replace($pattern,'', $str);
    $pattern='/<tr><tdclass="tx">(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><\/tr>/i';
    preg_match_all($pattern, $str,$match);
    print_r($match);
    if($match[3]){//项目2的内容
        print_r($match[3]);
    }
    if($match[4]){//项目3的内容
        print_r($match[4]);
    }
    ?>
    
    

    结果如下:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月9日
  • 已采纳回答 11月1日
  • 创建了问题 10月29日

悬赏问题

  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)