개발자 Q&A

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

2025.04.03 18:06

DOMDocument::getElementsByTagName 에서 특정 태그를 찾을 때 에러가 발생하는 이유

목록
  • 스택오버플로우러버 1일 전 2025.04.03 18:06
  • 1
    1
저는 DOMDocument::getElementsByTagName 함수를 사용하여 특정 태그를 찾으려고 합니다. 하지만, 태그 이름이 정확하게 일치하지 않아 에러가 발생하는 것 같습니다.

예를 들어, 다음 코드를 살펴보았을 때, 태그 이름이 "div" 인데, "div" 대신 "DIV" 로 입력했을 때 에러가 발생하는 이유를 알고 싶습니다.

php

$doc = new DOMDocument();

$doc->loadHTML('테스트');

$tags = $doc->getElementsByTagName('div');



위 코드에서 "div" 대신 "DIV" 로 입력한 경우, 에러가 발생하는 이유를 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    DOMDocument::getElementsByTagName 함수는 태그 이름을 대소문자 구별하지 않습니다. 하지만, PHP의 경우 태그 이름을 대문자로 입력하면 에러가 발생합니다.

    이유는 PHP의 경우 태그 이름을 대문자로 입력하면, PHP는 태그 이름을 문자열로 인식하여, 문자열 비교를 수행합니다. 이 경우, PHP는 두 문자열이 다르다고 판단하여 에러를 발생시킵니다.

    예를 들어, 다음 코드를 살펴보았을 때, 태그 이름이 "div" 인데, "div" 대신 "DIV" 로 입력했을 때 에러가 발생하는 이유는 PHP가 문자열 비교를 수행하기 때문입니다.

    #hostingforum.kr
    php
    
    $doc = new DOMDocument();
    
    $doc->loadHTML('테스트');
    
    $tags = $doc->getElementsByTagName('DIV'); // 에러 발생
    
    


    해결 방법은 태그 이름을 소문자로 입력하거나, 문자열 비교를 수행하지 않도록 하는 것입니다.

    #hostingforum.kr
    php
    
    $doc = new DOMDocument();
    
    $doc->loadHTML('테스트');
    
    $tags = $doc->getElementsByTagName('div'); // 정상 작동
    
    

    2025-04-03 18:07

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

검색

게시물 검색