doujing6436 2013-10-24 08:58
浏览 21
已采纳

从PHP中的html标签爆炸

i want to get the order number from below string.

$str = '<table class="adminlist">
<tbody><tr>
<td>Payment Name</td>
 <td align="left"><span class="vmpayment_name">Aurthorize.net</span><span class="vmpayment_description">New payment gateway</span></td>
</tr>
<tr>
<td>Order number</td>
 <td align="left">9b27041</td>
</tr>
<tr>
<td>Amount</td>
 <td align="left">51.30 USD</td>
</tr>
<tr>
<td>Transaction ID</td>
 <td align="left">2200484213</td>
</tr>
</tbody></table>';

How i explode in php. I have tried but not explode . I want order number from above string like

9b27041

And main thing is that all the values is dynamic :(

  • 写回答

3条回答 默认 最新

  • duanhan5388 2013-10-24 09:21
    关注

    I think xpath is a good way to extract the value. For this I assume that the position of the order number row is allways the same. The code below does the trick for me.

         <?php
    $str = '<table class="adminlist">
        <tbody><tr>
            <td>Payment Name</td>
            <td align="left"><span class="vmpayment_name">Aurthorize.net</span><span class="vmpayment_description">New payment gateway</span></td>
        </tr>
        <tr>
            <td>Order number</td>
            <td align="left">9b27041</td>
        </tr>
        <tr>
            <td>Amount</td>
            <td align="left">51.30 USD</td>
        </tr>
        <tr>
            <td>Transaction ID</td>
            <td align="left">2200484213</td>
        </tr>
        </tbody></table>';
    
    
    $dom = new DOMDocument();
    $dom->loadHTML($str);
    $xpath = new DOMXPath($dom);
    $nodes = $xpath->query("//tr[2]/td[2]");
    
    $node = $nodes->item(0);
    echo $node->textContent;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line