2

我从另一个站点获取 html file_get_contens,我的问题是如何获取特定的标记值?

假设我有:

<div id="global"><p class="paragraph">1800</p></div>

我怎样才能得到段落的价值?谢谢

4

4 回答 4

4

如果这个例子真的很简单,你可以使用正则表达式。不过,对于通用 HTML 解析,PHP 具有 DOM 支持:

$dom = new domDocument();
$dom->loadHTML("<div id=\"global\"><p class=\"paragraph\">1800</p></div>");
echo $dom->getElementsByTagName('p')->item(0)->nodeValue;
于 2010-04-22T14:46:08.387 回答
3

您需要解析 HTML。有几种方法可以做到这一点,包括使用 PHP 的 XML 解析函数。

但是,如果它只是一个简单的值(如您上面所问),我将使用以下简单代码:

// your content
$contents='<div id="global"><p class="paragraph">1800</p></div>';

// define start and end position
$start='<div id="global"><p class="paragraph">';
$end='</p></div>';

// find the stuff
$contents=substr($contents,strpos($contents,$start)+strlen($start));
$contents=substr($contents,0,strpos($contents,$end));

// write output
echo $contents;

祝你好运!

克里斯蒂安·西贝拉斯

(测试和工作)

于 2010-04-22T14:48:52.437 回答
0
$input  = '<div id="global"><p class="paragraph">1800</p></div>';
$output = strip_tags($input);
于 2010-04-22T14:46:15.867 回答
0
preg_match_all('#paragraph">(.*?)<#is', $input, $output);

print_r($output);

未经测试。

于 2010-04-22T14:48:39.800 回答