PHP获取外部页面内容

时间:2010-04-22 14:43:19

标签: php parsing file-get-contents

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

让我说我有:

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

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

4 个答案:

答案 0 :(得分: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;

答案 1 :(得分: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;

祝你好运!

Christian Sciberras

(测试和工作)

答案 2 :(得分:0)

$input  = '<div id="global"><p class="paragraph">1800</p></div>';
$output = strip_tags($input);

答案 3 :(得分:0)

preg_match_all('#paragraph">(.*?)<#is', $input, $output);

print_r($output);

未测试。