从一个大的html变量中获取一个字符串

时间:2012-06-06 02:41:52

标签: php html regex

  

可能重复:
  How to parse and process HTML with PHP?

如何从已被抓取的网页中获取某个字符串? 我在PHP中使用SimpleBrowser将网页下载到变量中。

特定部分的结果网页具有以下内容:

    <tr>
        <td class="label" width="350">POD Receiver Name:&nbsp;</td>
        <td class="field" align="left">
            <b>KRISTY</b>&nbsp;
        </td>
    </tr>

我希望将值KRISTY变为变量,但不确定如何。 我对正则表达式没有真正的经验所以我不知道从哪里开始。

任何帮助表示赞赏!

3 个答案:

答案 0 :(得分:1)

要从已知位置拉出一个特定部分,我会使用xpath。尝试使用http://ditio.net/2008/12/01/php-xpath-tutorial-advanced-xml-part-1/

等教程

答案 1 :(得分:0)

我不确定您为什么要在变量中存储页面。但是如果您将一个页面存储为变量中的字符串,则可以使用正则表达式从中提取字符串。对于这个特定的例子,你可以使用这样的东西。

$v = '<tr>
       <td class="label" width="350">POD Receiver Name:&nbsp;</td>
       <td class="field" align="left">
        <b>KRISTY</b>&nbsp;
      </td>
    </tr>';

preg_match('/\<b\>(.*?)\<\/b\>/', $v, $matches);
$result = $matches[1];

这个特殊的正则表达式可以获得粗体标记之间的所有内容。

答案 2 :(得分:0)

如果可以依赖结构,请给SimpleXML一个镜头:

$xml = simplexml_load_string(html_entity_decode($v));
$name = strval($xml->td[1]->b);//KRISTY

http://php.net/manual/en/function.simplexml-load-string.php

http://www.php.net/manual/en/class.simplexmlelement.php