3

可能重复:
如何使用 PHP 解析和处理 HTML?

我将如何从已被抓取的网页中获取某个字符串?我在 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 放入变量中,但不确定如何。我对正则表达式没有真正的经验,所以我不知道从哪里开始。

任何帮助表示赞赏!

4

3 回答 3

1

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

于 2012-06-06T03:05:09.947 回答
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];

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

于 2012-06-06T03:03:02.217 回答
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

于 2012-06-06T04:53:12.743 回答