update page now

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

class DOMText extends DOMCharacterData {
/* Özellikler */
public readonly string $wholetext;
/* Miras alınan özellikler */
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;
/* Yöntemler */
public function __construct(string $data = "")
public function isElementContentWhitespace(): bool
public function splitText(int $offset): DOMText|false
/* Miras alınan yöntemler */
public function DOMCharacterData::after(DOMNode|string ...$nodes): void
public function DOMCharacterData::appendData(string $data): true
public function DOMCharacterData::before(DOMNode|string ...$nodes): void
public function DOMCharacterData::deleteData(int $offset, int $count): bool
public function DOMCharacterData::insertData(int $offset, string $data): bool
public function DOMCharacterData::remove(): void
public function DOMCharacterData::replaceData(int $offset, int $count, string $data): bool
public function DOMCharacterData::replaceWith(DOMNode|string ...$nodes): void
public function DOMCharacterData::substringData(int $offset, int $count): string|false
public function DOMNode::appendChild(DOMNode $yeni): DOMNode|false
public function DOMNode::C14N(
    bool $özel = false,
    bool $aAçıklamalı = false,
    ?array $xpath = null,
    ?array $isim_alanları = null
): string|false
public function DOMNode::C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    ?array $xpath = null,
    ?array $nsPrefixes = null
): int|false
public function DOMNode::cloneNode(bool $torunlar_dahil = false): DOMNode|false
public function DOMNode::getLineNo(): int
public function DOMNode::getNodePath(): ?string
public function DOMNode::getRootNode(?array $options = null): DOMNode
public function DOMNode::hasAttributes(): bool
public function DOMNode::hasChildNodes(): bool
public function DOMNode::insertBefore(DOMNode $yeni, ?DOMNode $mevcut = null): DOMNode|false
public function DOMNode::isDefaultNamespace(string $uri): bool
public function DOMNode::isEqualNode(?DOMNode $otherNode): bool
public function DOMNode::isSameNode(DOMNode $düğüm): bool
public function DOMNode::isSupported(string $özellik, string $sürüm): bool
public function DOMNode::lookupPrefix(string $uri): ?string
public function DOMNode::normalize(): void
public function DOMNode::removeChild(DOMNode $eski): DOMNode|false
public function DOMNode::replaceChild(DOMNode $yeni, DOMNode $eski): DOMNode|false
public function DOMNode::__sleep(): array
public function DOMNode::__wakeup(): void
}

Ö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.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 Gerçeklenmemiş olan DOMText::replaceWholeText() yöntemi kaldırıldı.

İçindekiler

add a note

User Contributed Notes 1 note

up
0
Trititaty
9 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