首先抱歉我的英语不好!
这是我简单的cURL结果:
var outputDirectoryRegex = /([\"|\'|\\|\/]dist)([0-9]*)/g;
很多人都喜欢......
我使用此代码从html中提取值:
<li class="result">
<div class="song_info">
<span class="artist_name">art1</span>
<span class="song_name">name1</span>
<span class="views">100 time</span>
</div>
</li>
//again
<li class="result">
<div class="song_info">
<span class="artist_name">art2</span>
<span class="song_name">name2</span>
<span class="views">200 time</span>
</div>
</li>
这段代码只给我第一个结果:
$classname = 'song_info';
$dom = new DOMDocument;
$dom->loadHTML($html); // my html result .
$xpath = new DOMXPath($dom);
$get = $xpath->query("//*[@class='" . $classname . "']");
$text = $get->item(0)->nodeValue;
echo $text;
我希望得到所有结果! (在json中更好)
任何人都可以帮助我吗?
答案 0 :(得分:0)
我找到了我的答案
$text = $get->item(0)->nodeValue; >> Give First Result
$text = $get->item(1)->nodeValue; >> Give Second Result
我写了一个循环并收到所有结果:/
答案 1 :(得分:0)
DOMXPath::query
方法返回DOMNodeList。它实现了Traversable接口,因此您可以使用foreach
遍历它。将$get
变量重命名为$nodes
,因此变量将明确显示其中存储的内容。然后:
foreach ($nodes as $curNode) {
$childNodes = $curNode->childNodes;
foreach ($childNodes as $curChildNode) {
// use $curChildNode->textContent to get content
// and $curChildNode->getAttribute('class') to get class name
}
}