The DOMText class
(PHP 5, PHP 7)
Введение
Класс DOMText - это потомок класса DOMCharacterData и он содержит текстовой контент узлов, представленных объектами классов DOMElement или DOMAttr.
Обзор классов
DOMText
extends
DOMCharacterData
{
/* Свойства */
/* Методы */
/* Наследуемые методы */
public string DOMNode::C14N
([ bool
$exclusive
[, bool $with_comments
[, array $xpath
[, array $ns_prefixes
]]]] )
public int DOMNode::C14NFile
( string
}$uri
[, bool $exclusive
[, bool $with_comments
[, array $xpath
[, array $ns_prefixes
]]]] )Свойства
- wholeText
-
Содержит все смежные (не разделенные другими элементами, комментариями или инструкциями) текстовые узлы элемента.
Содержание
- DOMText::__construct — Создает объект класса DOMText
- DOMText::isWhitespaceInElementContent — Определяет, содержит ли текстовый узел пробел в содержимом
- DOMText::splitText — Разделяет узел на два, начиная с заданной позиции
- Введение
- Установка и настройка
- Предопределенные константы
- Examples
- Класс DOMAttr
- Класс DOMCdataSection
- Класс DOMCharacterData
- Класс DOMComment
- Класс DOMDocument
- Класс DOMDocumentFragment
- Класс DOMDocumentType
- Класс DOMElement
- Класс DOMEntity
- Класс DOMEntityReference
- Класс DOMException
- Класс DOMImplementation
- Класс DOMNamedNodeMap
- Класс DOMNode
- Класс DOMNodeList
- Класс DOMNotation
- Класс DOMProcessingInstruction
- The DOMText class
- Класс DOMXPath
- DOM Функции
Коментарии
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 );
}
}
}
}