我有此代码,我想在“强”代码中获取文本。
从那里我想要值的html输出:
<strong id="sku-price">199.98</strong>
这就是我现在使用的代码
$link = "http://www.example.com";
$html = file_get_contents($link);
$doc = new DOMDocument();
$doc->loadHTML($html);
$xpath = new DOMXpath($doc);
$check = $xpath->query('//strong[@id="sku-price"]');
foreach($check as $p){
**Then I don't know what to write here to get the value**
}
当前它不起作用,请获得帮助以对其进行排序。
谢谢。
答案 0 :(得分:1)
$check
将是https://docs.python.org/2/tutorial/errors.html。
由于您使用的是ID,因此您可以从该列表中获得第一项内容,即DOMNodeList并获得nodeValue:
echo $check->item(0)->nodeValue;
如果要使用foreach,可以将代码更新为:
foreach($check as $p){
echo $p->nodeValue;
}
答案 1 :(得分:1)
这里有两种可能。您可以阅读$textContent
属性。它包含所有后代节点的文本内容。
$nodes = $xpath->query('//strong[@id="sku-price"]');
foreach($nodes as $strong) {
var_dump($strong->textContent);
}
或者您直接使用Xpath来获取它。 DOMXpath::evaluate()
支持返回标量值的Xpath表达式。将表达式中的节点列表转换为字符串。
var_dump($xpath->evaluate('string(//strong[@id="sku-price"])');