
DOMElement::prepend 메서드는 DOMElement의 자식 요소 목록의 시작 부분에 새로운 요소를 삽입하는 것이 아니라, 기존의 자식 요소 목록의 끝 부분에 새로운 요소를 삽입하는 메서드입니다.
예를 들어, 다음 코드를 보겠습니다.
#hostingforum.kr
php
$html = '
기존 텍스트';
$element = new DOMDocument();
$element->loadHTML($html);
$newElement = $element->createElement('p', '새로운 텍스트');
$element->documentElement->appendChild($newElement); // prependChild 대신 appendChild를 사용합니다.
$element->documentElement->prependChild($element->documentElement->firstChild); // 기존의 첫 번째 자식 요소를 prependChild로 prepend합니다.
print $element->saveHTML();
이 코드를 실행하면 결과는 다음과 같습니다.
#hostingforum.kr
html
새로운 텍스트
기존 텍스트
이 결과에서 새로운 요소가 기존의 자식 요소 목록의 끝 부분에 삽입된 것처럼 보입니다.
DOMElement::prepend 메서드는 DOMElement의 자식 요소 목록의 시작 부분에 새로운 요소를 삽입하는 것이 아니라, 기존의 자식 요소 목록의 끝 부분에 새로운 요소를 삽입하는 메서드입니다.
따라서, prepend 메서드를 사용할 때는 prependChild 대신 appendChild를 사용하여 새로운 요소를 기존의 자식 요소 목록의 끝 부분에 삽입하고, prependChild를 사용하여 기존의 첫 번째 자식 요소를 prependChild로 prepend합니다.
2025-07-12 21:21