>백엔드 개발 >PHP 튜토리얼 >원하지 않는 래퍼 태그 없이 DOMDocument HTML을 저장하는 방법은 무엇입니까?

원하지 않는 래퍼 태그 없이 DOMDocument HTML을 저장하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-15 07:47:15793검색

How to Save DOMDocument HTML Without Unwanted Wrapper Tags?

HTML Wrapper 없이 DOMDocument의 HTML을 저장하는 방법은 무엇입니까?

문제 설명:

아래 코드 조각은 저장을 시도합니다. XML, HTML, 본문 및 p 태그 래퍼가 없는 DOMDocument의 HTML 콘텐츠이지만 문제가 발생합니다. 콘텐츠에 블록 수준 요소가 포함된 경우.

$postarray['post_content'] = $d->saveXML($d->getElementsByTagName('p')->item(0));

loadHTML 옵션으로 수정:

이 문제를 해결하려면 다음 옵션과 함께 loadHTML() 메서드를 사용하세요. :

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

이 옵션은 Libxml에 암시된 요소나 기본값을 추가하지 않고 HTML을 구문 분석하도록 지시합니다. doctype:

  • LIBXML_HTML_NOIMPLIED: 묵시적인 HTML/본문 요소의 자동 추가를 끕니다.
  • LIBXML_HTML_NODEFDTD: 하나가 아닐 때 추가되는 것 발견되었습니다.

결과:

이러한 옵션을 사용하면 saveHTML()은 이제 불필요한 래퍼 없이 HTML 콘텐츠를 출력합니다.

참고:

  • Libxml LIBXML_HTML_NOIMPLIED에는 2.6이 필요합니다.
  • LIBXML_HTML_NODEFDTD에는 Libxml 2.7.8이 필요합니다.

위 내용은 원하지 않는 래퍼 태그 없이 DOMDocument HTML을 저장하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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