Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вложенные таги 
:(
    Опции темы
getme
Дата 15.1.2009, 23:15 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 12.9.2008

Репутация: нет
Всего: -2



есть строка

<div id="detail-comments">
  <div>это не нужно</div>
   это
  <a href="blah">link</a>
   нужно
</div>

достает див таг

Код

$description   = $xpath->query('//div[@id="detail-comments"]');


содержимое
Код

$description->item(0)->nodeValue


получаю

"это не нужно это link нужно"

а хочу "это нужно"

как убрать все таги влоеженные в основной (div[@id="detail-comments"]) див?
и оставить только текст







PM MAIL   Вверх
bars80080
Дата 16.1.2009, 00:07 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 1
Всего: 315



PM MAIL WWW   Вверх
krundetz
Дата 16.1.2009, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 1
Всего: 69



Попробуй вот такую конструкцию:
Код

$description   = $xpath->query('//div[@id="detail-comments"]//a/following-sibling::*');

хотя я не уверен что она поможет.

Вообще xpath оперирует с названиями узлов, их атрибутами и последовательностямя, ты же пытаешься извлечь узел без названия, Может проще будет сделать так?
Код

<div id="detail-comments">
  <div>это не нужно</div>
   это
  <a href="blah">link</a>
   <span>нужно</span>
</div>

и извлекать это так
Код

$description   = $xpath->query('//div[@id="detail-comments"]//span');

я во всяком случае всегда стараюсь так упращать. 


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
getme
Дата 16.1.2009, 13:11 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 12.9.2008

Репутация: нет
Всего: -2



все понял, просто нужно удалить влоденные ноды

Код

$tbody = $dom->getElementById('detail-comments');
$description   = $xpath->query('//div[@id="detail-comments"]//*', $tbody);
foreach($description as $nodeElement )
{
  $nodeElement->parentNode->removeChild($nodeElement);
}

echo $tbody->nodeValue;


всем спасибо.

Добавлено через 3 минуты и 33 секунды
кстати у меня почему второй параметр не работает, $xpath->query('//div[@id="detail-comments"]//*', $tbody);

он не ссылается на пространсто " $tbody" а ссылается на всю страницу, почему так?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: X технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0661 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.