Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Парсинг текста между тегами
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Парсинг текста между тегами

Страниц (1): [1]
 

1. Kvazi - 03 Октября, 2010 - 11:34:52 - перейти к сообщению
Есть html страница содержащая код:

<div class="volts">Напряжение <span>1,221</span> Вольт</div>

Нужно парсить значение между тегами <span>

Написал код:

PHP:
скопировать код в буфер обмена
  1. include('simple_html_dom.php');
  2. $html = file_get_html('http://www.manysites.ru/');
  3. foreach($html->find('div [class=volts]') as $e)
  4. echo $e->plaintext. '<br>';
  5.  


Выводит: "Напряжение 1,221 Вольт", а нужно только "1,221"

Помогите Улыбка
2. SAD - 03 Октября, 2010 - 15:33:22 - перейти к сообщению
сначала найдите все, что между тегами div с нужным классом, а потом уже между тегами span - типа find('span')
3. VAS9 - 03 Октября, 2010 - 15:44:03 - перейти к сообщению
Если тебе нужно из этой строки пропарсить

CODE (html):
скопировать код в буфер обмена
  1. <div class="volts">Напряжение <span>1,221</span> Вольт</div>


То вот код:

PHP:
скопировать код в буфер обмена
  1.  
  2. $res = '<div class="volts">Напряжение <span>1,221</span> Вольт</div>' ;
  3.  
  4. $str = explode('<span>',$res);
  5. $res = $str[1] ;
  6. $str = explode('</span>',$res);
  7.  
  8. echo $str[0] ;
  9.  
  10.  
4. Kvazi - 03 Октября, 2010 - 17:19:51 - перейти к сообщению
SAD для меня программирование темный лес Улыбка
VAS9 Спасибо, работает!
5. Stas.progger - 08 Октября, 2010 - 12:46:28 - перейти к сообщению
Также должен сработать такой вариант:

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. include('simple_html_dom.php');
  4.  
  5. $html = file_get_html('http://www.manysites.ru/');
  6.  
  7. foreach($html->find('div[class=volts] span') as $e)
  8. echo $e->plaintext. '<br>';
  9.  
  10.  


а также такой:

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. include('simple_html_dom.php');
  4.  
  5. $html = file_get_html('http://www.manysites.ru/');
  6.  
  7. $needSpan = $str->find('div[class=volts] span',0)->plaintext;
  8. echo $needSpan;
  9.  
  10.  


Подмигивание

 

Powered by ExBB FM 1.0 RC1