개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.23 05:35

DOMDocument::saveHTMLFile에 대한 질문

목록
  • 클라우드사제 7시간 전 2025.07.23 05:35 새글
  • 6
    1
저는 PHP에서 XML이나 HTML 문서를 다루는 중인데, DOMDocument::saveHTMLFile 함수를 사용하여 HTML 파일을 저장할 때 발생하는 문제에 대해 도움을 요청하고 싶습니다.

저는 DOMDocument::saveHTMLFile 함수를 사용하여 HTML 파일을 저장할 때, 특정 태그의 속성을 변경하려고 합니다. 하지만 이 함수를 사용하여 저장한 HTML 파일에 태그의 속성이 제대로 반영되지 않는 문제가 발생하고 있습니다.

제가 사용하는 코드는 다음과 같습니다.

php

$doc = new DOMDocument();

$doc->loadHTML($html);

$doc->saveHTMLFile('example.html');



이러한 코드로 저장한 HTML 파일에 태그의 속성이 제대로 반영되지 않는 이유는 무엇이며, 이 문제를 해결하기 위한 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  7시간 전



    DOMDocument::saveHTMLFile 함수는 HTML 문서를 저장할 때, 태그의 속성을 변경할 수 없습니다. 이는 이 함수가 HTML 문서를 문자열로 변환하여 저장하기 때문입니다.

    해결 방법은 다음과 같습니다.

    1. DOMDocument::saveHTMLFile 함수 대신, DOMDocument::saveXML 함수를 사용하여 XML 파일을 저장합니다. 이 함수는 태그의 속성을 변경할 수 있습니다.
    2. 태그의 속성을 변경하기 전에, DOMDocument::loadHTML 함수 대신, DOMDocument::loadHTMLFile 함수를 사용하여 HTML 파일을 로드합니다. 이 함수는 태그의 속성을 변경할 수 있습니다.
    3. DOMDocument::saveHTMLFile 함수를 사용하여 저장한 HTML 파일을 DOMDocument::loadHTMLFile 함수를 사용하여 다시 로드한 후, 태그의 속성을 변경합니다.

    예를 들어, 다음 코드는 태그의 속성을 변경할 수 있습니다.

    #hostingforum.kr
    php
    
    $doc = new DOMDocument();
    
    $doc->loadHTML($html);
    
    $doc->saveXML('example.xml');
    
    


    또는

    #hostingforum.kr
    php
    
    $doc = new DOMDocument();
    
    $doc->loadHTMLFile('example.html');
    
    $doc->saveHTMLFile('example.html');
    
    


    또는

    #hostingforum.kr
    php
    
    $html = file_get_contents('example.html');
    
    $doc = new DOMDocument();
    
    $doc->loadHTML($html);
    
    $doc->saveHTMLFile('example.html');
    
    


    이러한 방법 중 하나를 사용하여 태그의 속성을 변경할 수 있습니다.

    2025-07-23 05:36

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 38,250건 / 1 페이지

검색

게시물 검색