Laracon EU Online 2021

DOMText sınıfı

(PHP 5, PHP 7)

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 */
readonly public string $wholeText ;
/* Yöntemler */
__construct ([ string $değer ] )
public isElementContentWhitespace ( ) : bool
splitText ( int $konum ) : DOMText
/* Miras alınan yöntemler */
DOMCharacterData::appendData ( string $veri ) : void
DOMCharacterData::deleteData ( int $başlangıç , int $uzunluk ) : void
DOMCharacterData::insertData ( int $başlangıç , string $veri ) : void
DOMCharacterData::replaceData ( int $başlangıç , int $uzunluk , string $veri ) : void
DOMCharacterData::substringData ( int $başlangıç , int $uzunluk ) : string
public DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] ) : string|false
public DOMNode::C14NFile ( string $uri [, bool $exclusive = FALSE [, bool $with_comments = FALSE [, array $xpath [, array $ns_prefixes ]]]] ) : int|false
DOMNode::cloneNode ([ bool $torunlar_dahil = TRUE ] ) : DOMNode
public DOMNode::getLineNo ( ) : int
public DOMNode::getNodePath ( ) : string
DOMNode::insertBefore ( DOMNode $yeni [, DOMNode $mevcut ] ) : DOMNode
DOMNode::isDefaultNamespace ( string $uri ) : bool
DOMNode::isSameNode ( DOMNode $düğüm ) : bool
DOMNode::isSupported ( string $özellik , string $sürüm ) : bool
DOMNode::lookupNamespaceURI ( string $önek ) : string
DOMNode::lookupPrefix ( string $uri ) : string
DOMNode::normalize ( ) : 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.

İçindekiler

add a note add a note

User Contributed Notes 1 note

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