如何从外部URL获取PHP中的特定值
我试图从外部URL获取特定值。不知怎的,我现在被卡住了。请有人看一下并帮忙 我正试图用新文档来实现这一点 现在查看目标URL上HTML文件的结构如何从外部URL获取PHP中的特定值,php,Php,我试图从外部URL获取特定值。不知怎的,我现在被卡住了。请有人看一下并帮忙 我正试图用新文档来实现这一点 现在查看目标URL上HTML文件的结构 <div id="post" align="left"> <ul> <li> <a>some content</a> </li> </ul> </div> <div id="po
<div id="post" align="left">
<ul>
<li>
<a>some content</a>
</li>
</ul>
</div>
<div id="post" align="left">
<ul>
<li>
<a>some content</a>
</li>
<li>
<a>Targeted Content</a>
</li>
</ul>
</div>
<div id="post" align="left">
<ul>
<li>
<a>some content</a>
</li>
</ul>
</div>
当我试图从一个数组中获取这个值时,它为我提供了整个div值—一些以内容为目标的内容。我只需要目标内容。请尝试以下操作:
<?php
$html = file_get_contents('https://someurl.com');
$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$elements = $xpath->query("//div[@id='post']/ul/li[2]/a");
$values = [];
foreach ($elements as $element) {
$values[] = $element->textContent;
}
print_r($values);
你试过这个吗//div[@id='post']/ul/li[2]目标内容的标准是什么?我认为我们只有通过数组获取它的选项您发布的html无效,因为它有多个带有id post的div。我认为我们只有通过数组获取它的选项……这并不会阻止您按照建议使用更精确的xPath查询。但是是的,您将遇到另一个问题,因为它可能不喜欢无效的重复ID
<?php
$html = file_get_contents('https://someurl.com');
$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$elements = $xpath->query("//div[@id='post']/ul/li[2]/a");
$values = [];
foreach ($elements as $element) {
$values[] = $element->textContent;
}
print_r($values);