처음에는 나의 나쁜 영어를 미안합니다!
이것은 내 간단한 cURL 결과입니다.
<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>
그리고 많은 사람들이 ....
이 코드를 사용하여 html에서 값을 추출했습니다.
$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;
이 코드는 첫 번째 결과를 제공합니다.
art1
name1
100time
나는 모든 결과를 얻고 싶다! (json에서 더 좋음)
누구든지 나를 도울 수 있습니까?
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
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다