PHP获取外部页面内容

发布于 2024-08-29 12:06:45 字数 208 浏览 6 评论 0原文

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

假设我有:

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

如何获得段落的值?谢谢

i get the html from another site with file_get_contens, my question is how can i get a specific tag value?

let's say i have:

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

how can i get paragraph's value? thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

假面具 2024-09-05 12:06:45

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

$dom = new domDocument();
$dom->loadHTML("<div id=\"global\"><p class=\"paragraph\">1800</p></div>");
echo $dom->getElementsByTagName('p')->item(0)->nodeValue;

If the example is really that trivial you could just use a regular expression. For generic HTML parsing though, PHP has DOM support:

$dom = new domDocument();
$dom->loadHTML("<div id=\"global\"><p class=\"paragraph\">1800</p></div>");
echo $dom->getElementsByTagName('p')->item(0)->nodeValue;
无言温柔 2024-09-05 12:06:45

您需要解析 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

(经过测试并有效)

You need to parse the HTML. There are several ways to do this, including using PHP's XML parsing functions.

However, if it is just a simple value (as you asked above) I would use the following simple code:

// 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;

Best of luck!

Christian Sciberras

(tested and works)

不一样的天空 2024-09-05 12:06:45
$input  = '<div id="global"><p class="paragraph">1800</p></div>';
$output = strip_tags($input);
$input  = '<div id="global"><p class="paragraph">1800</p></div>';
$output = strip_tags($input);
屌丝范 2024-09-05 12:06:45
preg_match_all('#paragraph">(.*?)<#is', $input, $output);

print_r($output);

未经测试。

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

print_r($output);

Untested.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文