>백엔드 개발 >PHP 튜토리얼 >래퍼 태그 없이 DOMDocument에서 HTML을 어떻게 저장할 수 있습니까?

래퍼 태그 없이 DOMDocument에서 HTML을 어떻게 저장할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-15 05:34:13641검색

How Can I Save HTML from DOMDocument Without the Wrapper Tags?

HTML Wrapper 없이 DOMDocument의 HTML 저장

이 질문은 DOMDocument로 작업할 때 발생하는 일반적인 문제인 HTML, 본문 및 단락 태그를 포함하지 않고 HTML 콘텐츠를 추출하는 문제를 해결합니다. saveXML()이 이러한 래퍼를 출력에 추가할 때 문제가 발생합니다. 첫 번째 단락 요소에 saveXML()을 사용하여 제안된 수정 사항은 블록 수준 요소가 없는 콘텐츠에만 작동하지만 이 기사에서는 포괄적인 솔루션을 탐색합니다.

이 문제를 해결하는 열쇠는 $옵션 도입에 있습니다. PHP 5.4 및 Libxml 2.6의 loadHTML() 매개변수입니다. 다음 옵션을 활용하여

$html->loadHTML($content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);

Libxml에 암시적 HTML 및 본문 요소나 기본 문서 유형을 자동으로 추가하지 않도록 지시할 수 있습니다. 결과적으로, saveHTML()은 이러한 래퍼 없이 콘텐츠를 출력합니다.

LIBXML_HTML_NOIMPLIED는 묵시적인 HTML/본문 요소의 자동 추가를 끄는 반면, LIBXML_HTML_NODEFDTD는 입력에서 찾을 수 없는 기본 문서 유형이 추가되는 것을 방지합니다.

이러한 옵션을 통합함으로써 원치 않는 래퍼 없이 원하는 HTML 콘텐츠를 효과적으로 추출할 수 있습니다. DOMDocument 콘텐츠를 보다 정확하게 표현합니다.

loadHTML()에는 Libxml 2.6이 필요하지만 LIBXML_HTML_NODEFDTD는 Libxml 2.7.8에서만 사용할 수 있고 LIBXML_HTML_NOIMPLIED는 Libxml 2.7.7에서 사용할 수 있다는 점에 유의하는 것이 중요합니다. Libxml 매개변수에 대한 포괄적인 이해는 공식 문서를 참조하세요.

위 내용은 래퍼 태그 없이 DOMDocument에서 HTML을 어떻게 저장할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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