DOMText sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

DOMText sınıfı DOMCharacterData sınıfından türetilir ve bir DOMElement veya DOMAttr düğümünün metin içeriğini temsil eder.

Sınıf Sözdizimi

DOMText extends DOMCharacterData {
/* Özellikler */
public readonly string $wholetext;
/* Miras alınan özellikler */
public string $data;
readonly public readonly int $length;
public readonly string $nodeName;
public string $nodeValue;
public readonly int $nodeType;
public readonly DOMNode|null $parentNode;
public readonly DOMNodeList $childNodes;
public readonly DOMNode|null $firstChild;
public readonly DOMNode|null $lastChild;
public readonly DOMNode|null $previousSibling;
public readonly DOMNode|null $nextSibling;
public readonly DOMNamedNodeMap|null $attributes;
public readonly DOMDocument|null $ownerDocument;
public readonly string|null $namespaceURI;
public string|null $prefix;
public readonly string $localName;
public readonly string|null $baseURI;
public string $textContent;
/* Yöntemler */
public __construct(string $data = "")
public splitText(int $offset): DOMText|false
/* Miras alınan yöntemler */
public DOMCharacterData::appendData(string $data): bool
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::appendChild(DOMNode $yeni): DOMNode|false
public DOMNode::C14N(
    bool $exclusive = false,
    bool $withComments = false,
    array|null $xpath = null,
    array|null $nsPrefixes = null
): string|false
public DOMNode::C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    array|null $xpath = null,
    array|null $nsPrefixes = null
): int|false
public DOMNode::cloneNode(bool $torunlar_dahil = false): DOMNode|false
public DOMNode::getLineNo(): int
public DOMNode::getNodePath(): string|null
public DOMNode::hasAttributes(): bool
public DOMNode::hasChildNodes(): bool
public DOMNode::insertBefore(DOMNode $yeni, DOMNode|null $mevcut = null): DOMNode|false
public DOMNode::isDefaultNamespace(string $uri): bool
public DOMNode::isSameNode(DOMNode $düğüm): bool
public DOMNode::isSupported(string $özellik, string $sürüm): bool
public DOMNode::lookupNamespaceURI(string $önek): string
public DOMNode::lookupPrefix(string $uri): string|null
public DOMNode::normalize(): void
public DOMNode::removeChild(DOMNode $eski): DOMNode|false
public DOMNode::replaceChild(DOMNode $yeni, DOMNode $eski): DOMNode|false
}

Özellikler

wholetext

Mantıken birbirine komşu metin düğümlerinin (eleman, açıklama veya işlem komutları ile ayrılmamış) tüm metinlerini içerir.

İçindekiler

add a note add a note

User Contributed Notes 1 note

up
0
Trititaty
7 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 );
      }
    }
  }
}
To Top