Парсер Html Dom получает первый элемент

Привет, я использую simple_html_dom библиотеку php для получения содержимого с другого веб-сайта.

У меня ниже структура html,

<h1 class="nik_product_title" style="color: #000;">
  DSLR D7100
  <span class="new_big_parent">
    <span class="new_big_child">
      <span class="new_big_child1">new</span>
    </span>
  </span>
</h1>

Используя это

@$html->find ( 'div[class=nik_block_product_main_info_component_inner] h1',0)->plaintext;

Но я получаю результат как DSLR+D7100new

Как получить только первый простой текст, т.е. нужно получить только DSLR D7100


person Vind    schedule 25.03.2014    source источник


Ответы (2)


На самом деле вы можете добиться этого с помощью:

$html->find('h1 text', 0);
person pguardiario    schedule 25.03.2014
comment
Так просто !! Не знал об этом. Спасибо, pguardiario. - person Vind; 25.03.2014
comment
Спасибо @pguardiario за этот очень простой ответ - person Gunaseelan; 25.03.2014
comment
@pguardiario Есть ли у вас идеи для этого - person Vind; 26.03.2014

Мы можем использовать базовую функцию, чтобы получить желаемый результат.

$html = str_get_html('<h1 class="nik_product_title" style="color: #000;">
DSLR D7100
<span class="new_big_parent">
<span class="new_big_child">
  <span class="new_big_child1">new</span>
</span>
</span>
</h1>');

$last_one =$html->find('h1.nik_product_title',0)->children (0)->plaintext;

$whole =$html->find('h1.nik_product_title',0)->plaintext;

$result = str_replace($last_one,"",$whole);
echo $result;
person Gunaseelan    schedule 25.03.2014
comment
Спасибо, Гуна. Это сработало !! - person Vind; 25.03.2014