CascadiaPHP 2024

The DOMComment class

(PHP 5, PHP 7, PHP 8)

Introduction

Represents comment nodes, characters delimited by <!-- and -->.

Class synopsis

class DOMComment extends DOMCharacterData {
/* Inherited properties */
public string $data;
public readonly int $length;
public readonly string $nodeName;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly ?DOMElement $parentElement;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly bool $isConnected;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
/* Methods */
public __construct(string $data = "")
/* Inherited methods */
public DOMCharacterData::deleteData(int $offset, int $count): bool
public DOMCharacterData::replaceData(int $offset, int $count, string $data): bool
public DOMNode::C14N(
    bool $exclusive = false,
    bool $withComments = false,
    ?array $xpath = null,
    ?array $nsPrefixes = null
): string|false
public DOMNode::C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    ?array $xpath = null,
    ?array $nsPrefixes = null
): int|false
public DOMNode::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $otherNode): bool
public DOMNode::isSupported(string $feature, string $version): bool
}

Table of Contents

add a note

User Contributed Notes 1 note

up
-1
npelov at croler dot net
2 years ago
Note that textContent property of a comment is not entity decoded, it is decoded in DOMElement::textContent :

<?php

$xml
= new DOMDocument();
$xml->loadXML('<?xml version="1.0" encoding="utf-8"?>
<configuration version="2">
<!-- test &#45;&#45;&gt; -->
test &#45;&#45;&gt;
</configuration>'
);
$xpath = new DOMXPath($xml);
$comments = $xpath->query('//comment()');
$elements = $xpath->query('//configuration');

echo
$comments[0]->textContent;
// result: test &#45;&#45;&gt;

echo $elements[0]->textContent;
// result: test -->

?>
To Top