소개:
PHP DOM을 사용하여 HTML을 구문 분석하는 것은 특히 어려울 수 있습니다. 특정 요구 사항을 처리할 때. 이 문서에서는 지정된 클래스가 있는 요소에서 텍스트를 추출하고 이를 구조화된 배열로 구성하는 솔루션을 살펴봅니다.
시나리오:
다음 HTML 콘텐츠를 고려하세요.
<p class="Heading1-P"> <span class="Heading1-H">Chapter 1</span> </p> <p class="Normal-P"> <span class="Normal-H">This is chapter 1</span> </p>
목표는 에서 텍스트를 추출하는 것입니다. "Heading1-H" 클래스가 있는 요소는 $heading 배열로, "Normal-H" 클래스가 있는 요소의 텍스트는 $content 배열로 변환되어 결과는 다음과 같습니다.
$heading = ['Chapter 1', 'Chapter 2', 'Chapter 3']; $content = ['This is chapter 1', 'This is chapter 2', 'This is chapter 3'];
DOMDocument를 사용한 솔루션 및 DOMXPath:
우리는 DOMDocument와 DOMXPath를 사용하여 이 작업을 처리합니다.
// Load HTML into DOMDocument $dom = new DOMDocument(); $dom->loadHTML($html); // Create DOMXPath object $xpath = new DOMXPath($dom); // Get elements with desired class using XPath $xpathQuery = "//*[@class='$class']"; $elements = $xpath->query($xpathQuery); // Extract text from elements and store in arrays $headings = []; $contents = []; foreach ($elements as $element) { $nodes = $element->childNodes; foreach ($nodes as $node) { $headings[] = $node->nodeValue; } } var_dump($headings);
이 솔루션은 HTML을 효과적으로 구문 분석하고 원하는 배열을 반환합니다.
참고:
이 작업에 jQuery를 사용하는 것은 권장되지 않습니다. PHP DOM은 HTML 조작에 대해 보다 체계적이고 프로그래밍적인 접근 방식을 제공하기 때문입니다.
위 내용은 DOMDocument를 사용하여 PHP에서 특정 클래스의 요소에서 텍스트를 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!