PHP 7.4.0beta4 released!

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 ( void ) : 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
public DOMNode::C14NFile ( string $uri [, bool $exclusive = FALSE [, bool $with_comments = FALSE [, array $xpath [, array $ns_prefixes ]]]] ) : int
DOMNode::cloneNode ([ bool $torunlar_dahil = TRUE ] ) : DOMNode
public DOMNode::getLineNo ( void ) : int
public DOMNode::getNodePath ( void ) : string
DOMNode::hasAttributes ( void ) : bool
DOMNode::hasChildNodes ( void ) : bool
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 ) : 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
2 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