>  기사  >  백엔드 개발  >  새 항목을 만들지 않고도 로드된 DOMDocument에서 요소를 삭제할 수 있나요?

새 항목을 만들지 않고도 로드된 DOMDocument에서 요소를 삭제할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-10-31 01:49:02792검색

 Can You Delete Elements in a Loaded DOMDocument Without Creating a New One?

DOMDocument로 요소 삭제

HTML 문서를 조작하는 것은 웹 개발자의 일반적인 작업입니다. PHP에서 DOMDocument 클래스는 HTML 코드를 구문 분석하고 조작하는 편리한 방법을 제공합니다. 처음부터 새 DOMDocument를 생성하는 것이 가능하지만 대부분의 경우 기존 문서를 DOMDocument 객체에 로드하는 것이 더 효율적입니다.

HTML 문서를 수정할 때 가장 일반적인 작업 중 하나는 요소를 제거하는 것입니다. 다음 HTML 코드를 고려해 보겠습니다.

<code class="html"><p><a href="#">First</a></p>
<p><a href="#">Second</a></p>
<p><a href="#">Third</a></p></code>

Q: 새 요소를 만들지 않고 로드된 DOMDocument에서 요소를 삭제할 수 있습니까?

<code class="php">$dom = new DOMDocument('1.0', 'utf-8');
$dom->loadHTML($html);

foreach ($dom->getElementsByTagName('a') as $href) {
    if ($href->nodeValue == 'First')
        // delete
}</code>

A: 예, 새 DOMDocument를 만들지 않고도 로드된 DOMDocument에서 요소를 삭제할 수 있습니다.

<code class="php">$href->parentNode->removeChild($href);</code>

이 접근 방식은 원본 DOMDocument 개체를 직접 수정합니다. DOMNode::$parentNode 속성은 현재 노드의 상위 노드를 참조하고 DOMNode::removeChild() 메서드는 상위 노드에서 지정된 하위 노드를 제거합니다.

DOMDocuments 작업을 위한 추가 리소스:

  • [DOMNode::$parentNode 문서](https://www.php.net/manual/en/domnode.parentnode.php)
  • [DOMNode::removeChild() 문서 ](https://www.php.net/manual/en/domnode.removechild.php)
  • PHP DOMDocument를 사용하여 속성을 제거하는 방법은 무엇입니까?
  • DOMDocument 클래스

위 내용은 새 항목을 만들지 않고도 로드된 DOMDocument에서 요소를 삭제할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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