>백엔드 개발 >PHP 튜토리얼 >PHP의 DOM 노드에서 내부 HTML을 어떻게 추출할 수 있나요?

PHP의 DOM 노드에서 내부 HTML을 어떻게 추출할 수 있나요?

Barbara Streisand
Barbara Streisand원래의
2024-12-18 13:56:11888검색

How Can I Extract Inner HTML from DOM Nodes in PHP?

PHP의 DOM 노드에서 내부 HTML 추출

PHP DOM 구현은 기본적으로 지정된 DOMNode의 innerHTML을 검색하는 메서드를 제공하지 않습니다. . 이 문제를 해결하기 위해 개발자는 DOMinnerHTML() 함수를 사용하는 해결 방법을 고안했습니다.

DOMinnerHTML 함수

DOminnerHTML() 함수는 DOMNode를 매개변수로 사용하고 innerHTML을 문자열로. DOMNode의 하위 노드를 반복적으로 반복하여 $element->ownerDocument->saveHTML($child)을 사용하여 각 하위 노드를 직렬화하여 innerHTML을 구축합니다.

function DOMinnerHTML(DOMNode $element) 
{ 
    $innerHTML = ""; 
    $children  = $element->childNodes;

    foreach ($children as $child) 
    { 
        $innerHTML .= $element->ownerDocument->saveHTML($child);
    }

    return $innerHTML; 
} 

사용 예

DOMINnerHTML() 함수를 사용하려면 새 DOMDocument 객체를 생성하고, 여기에 HTML을 로드하고 원하는 노드가 포함된 DOMNodeList를 검색하세요. 그런 다음 DOMNodeList를 반복하고 각 노드에서 DOMinnerHTML()을 호출하여 innerHTML을 추출합니다.

$dom= new DOMDocument(); 
$dom->preserveWhiteSpace = false;
$dom->formatOutput       = true;
$dom->load($html_string); 

$domTables = $dom->getElementsByTagName("table"); 

// Iterate over DOMNodeList (Implements Traversable)
foreach ($domTables as $table) 
{ 
    echo DOMinnerHTML($table); 
} 

이 해결 방법은 PHP에서 DOMNode의 innerHTML을 검색하기 위한 안정적인 솔루션을 제공하여 개발자가 외부 라이브러리를 사용하지 않고 DOM 요소 콘텐츠를 관리합니다.

위 내용은 PHP의 DOM 노드에서 내부 HTML을 어떻게 추출할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.