Как получить объект DOMText

AmadMike

Новичок
Как получить объект DOMText

Добрый день.
Не смог никак разобраться, каким образом получить объект DOMText из структуры документа.
Например есть какой-нибудь html файл и скажем такой блок:

Код:
<div id="div1">
Some text
</div>
создаем объект DOMDocument из этого файла.
PHP:
$document = new DOMDocument('1.0', 'utf-8');
$document->loadHTMLFile('file.html');
Ну элемент блока можно получить как
PHP:
$document->getElementById('div1');
Можно даже создать текстовый элемент и добавить его к этому блоку, а вот как получить доступ к уже существующему тексту?

-~{}~ 10.11.06 18:26:

Еще раз пересмотрев все классы расширения DOM я нашел как все-таки получить доступ к тексту элемента надо воспользоваться свойством класса DOMNode->textContent (а DOMDocument и DOMElement наследуют это свойство). А объект DOMText по всей видимости можно только создать, а получить можно его содержимое ввиде строки...
 

ilkz

Новичок
А DOMNode->nodeValue не подходит разве?

-~{}~ 10.11.06 19:14:

А DOMNode->nodeValue не подходит разве?

-~{}~ 10.11.06 19:14:

А DOMNode->nodeValue не подходит разве?
 

AmadMike

Новичок
Ага, nodeValue возвращает текст только данного элемента, а textContent - данного и всех вложенных в него.

Спасибо.
 

light83

Новичок
Здравствуйте.
Очень прошу помочь:
PHP:
$xml='<p>some text<a href="link">link</a></p>';

$dom = new DOMDocument('1.0', 'utf-8');
$dom->loadXML($xml);
$de_element_list=$dom->getElementsByTagName('*');
foreach($de_element_list as $dn_item)
	{
		echo '*'.$dn_item->nodeName.'<br />nodeValue='.$dn_item->nodeValue.'<br />textContent='.$dn_item->textContent.'<br />';
	}
Вывод скрипта:
*p
nodeValue=some textlink
textContent=some textlink
*a
nodeValue=link
textContent=link

Получается что nodeValue и textContent возвращают одинаковые значения, и нельзя получить только текст тега <p>?
А если бы после p стояли <i>, <u> и т.д., то у каждого из них тоже были бы nodeValue=тексты всех родительских тегов.

-~{}~ 16.02.07 16:18:

Похоже пути получения текста только одного элемента, без всех в него вложенных, нет...

-~{}~ 16.02.07 16:28:

Решение примерно такое: использовать firstChild->data
 
Сверху