PHP DOM을 사용하여 지정된 클래스가 있는 요소에서 단순 텍스트 추출
특정 HTML 요소에서 텍스트를 추출하는 것은 웹 개발의 일반적인 작업입니다. PHP DOM은 HTML을 구문 분석하고 해당 콘텐츠에 액세스하기 위한 강력한 도구를 제공합니다. 이 문서에서는 지정된 클래스가 있는 요소에서 두 개의 평면 배열로 텍스트를 추출하기 위한 특정 요구 사항을 다룹니다.
문제
다음과 같은 여러 p 요소 사이에 분산된 텍스트가 포함된 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>
다음 출력을 얻어야 합니다.
$heading = ['Chapter 1', 'Chapter 2', 'Chapter 3']; $content = ['This is chapter 1', 'This is chapter 2', 'This is chapter 3'];
솔루션
이를 수행하려면 PHP DOM을 사용하여 추출하려면 DOMDocument 및 DOMXPath를 사용합니다. 해결 방법은 다음 단계로 구성됩니다.
$dom = new DOMDocument(); $dom->loadHTML($test);
$xpath = new DOMXPath($dom);
$heading = parseToArray($xpath, 'Heading1-H'); $content = parseToArray($xpath, 'Normal-H');
parseToArray() 함수에서:
전체 PHP 코드는 다음과 같습니다.
query($xpathquery); $resultarray = []; foreach ($elements as $element) { $nodes = $element->childNodes; foreach ($nodes as $node) { $resultarray[] = $node->nodeValue; } } return $resultarray; } $test = << Chapter 2This is chapter 2
Chapter 3
This is chapter 3
HTML; $dom = new DOMDocument(); $dom->loadHTML($test); $xpath = new DOMXPath($dom); $heading = parseToArray($xpath, 'Heading1-H'); $content = parseToArray($xpath, 'Normal-H'); var_dump($heading); echo "
"; var_dump($content); echo "
";
이 접근 방식은 PHP DOM 및 XPath의 강력한 기능을 활용하여 HTML 문서에서 텍스트를 효율적으로 추출하므로 더 복잡한 작업이 가능합니다. 그리고 타겟 콘텐츠 조작.
위 내용은 PHP DOM을 사용하여 특정 클래스가 있는 HTML 요소의 텍스트를 평면 배열로 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!