The DOMText class

(PHP 5, PHP 7, PHP 8)

Introduction

The DOMText class inherits from DOMCharacterData and represents the textual content of a DOMElement or DOMAttr .

Class synopsis

class DOMText extends DOMCharacterData {
/* Inherited constants */
/* Properties */
public readonly string $wholeText ;
/* Inherited properties */
public string $data ;
public readonly int $length ;
public readonly ?DOMElement $nextElementSibling ;
public readonly string $nodeName ;
public ?string $nodeValue ;
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 = "")
public splitText (int $offset): DOMText |false
/* Inherited methods */
public DOMCharacterData::deleteData (int $offset, int $count): bool
public DOMCharacterData::insertData (int $offset, string $data): bool
public DOMCharacterData::replaceData (int $offset, int $count, string $data): bool
public DOMCharacterData::substringData (int $offset, int $count): string |false
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::getRootNode (? array $options = null ): DOMNode
public DOMNode::insertBefore (DOMNode $node, ? DOMNode $child = null ): DOMNode |false
public DOMNode::isEqualNode (? DOMNode $otherNode): bool
public DOMNode::isSameNode (DOMNode $otherNode): bool
public DOMNode::isSupported (string $feature, string $version): bool
public DOMNode::lookupPrefix (string $namespace): ? string
}

Properties

wholeText

Holds all the text of logically-adjacent (not separated by Element, Comment or Processing Instruction) Text nodes.

Changelog

Version Description
8.0.0 The unimplemented method DOMText::replaceWholeText() has been removed.

Table of Contents

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes 1 note

up
0
Trititaty
8 years ago
Text replacement function for DOM.

<?php
function domTextReplace( $search, $replace, DOMNode &$domNode, $isRegEx = false ) {
if (
$domNode->hasChildNodes() ) {
$children = array();
// since looping through a DOM being modified is a bad idea we prepare an array:
foreach ( $domNode->childNodes as $child ) {
$children[] = $child;
}
foreach (
$children as $child ) {
if (
$child->nodeType === XML_TEXT_NODE ) {
$oldText = $child->wholeText;
if (
$isRegEx ) {
$newText = preg_replace( $search, $replace, $oldText );
} else {
$newText = str_replace( $search, $replace, $oldText );
}
$newTextNode = $domNode->ownerDocument->createTextNode( $newText );
$domNode->replaceChild( $newTextNode, $child );
} else {
domTextReplace( $search, $replace, $child, $isRegEx );
}
}
}
}
+add a note

AltStyle によって変換されたページ (->オリジナル) /