PHP DOM으로 작업할 때 해당 클래스를 기반으로 노드 내 특정 요소를 가져오는 것이 중요합니다. 이를 달성하기 위한 최선의 접근 방식을 살펴보겠습니다.
$dom = new DomDocument();<br>$dom->load($filePath);<br>$finder = 새로운 DomXPath($dom);<br>$classname = "my-class";<br>$nodes = $finder->query("//*[contains(@class, '$classname')]");<br>
이 접근 방식은 XPath를 사용하여 지정된 클래스 속성이 있는 모든 요소를 선택합니다.
CSS 선택기 구문을 선호하는 경우 Zend_Dom_Query가 편리한 솔루션을 제공합니다.
$finder = new Zend_Dom_Query($html);<br>$classname = 'my-class ';<br>$노드 = $finder->query("*[class~='$classname']");<br>
업데이트: *[@class~='의 XPath 버전 my-class'] CSS 선택기
Zend_Dom_Query를 사용하여 CSS 선택기를 구문 분석하면 동등한 XPath가 나타납니다. 표현식:
$nodes = $finder->query("[contains(concat(' ', Normalize-space(@class), ' '), ' $classname ')]" );<br>
이 XPath를 직접 활용하면 다음을 사용하지 않고도 지정된 클래스가 포함된 요소를 쿼리할 수 있습니다. Zend_Dom_Query.
클래스별로 요소를 선택할 때 요소 유형을 알고 있는 경우 *를 해당 태그 이름으로 바꾸면 검색 범위가 좁아지고 효율성이 향상된다는 점에 유의할 필요가 있습니다.
위 내용은 PHP를 사용하여 클래스 이름별로 DOM 요소를 효율적으로 선택하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!