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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Парсинг текста между тегами

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Kvazi
Отправлено: 03 Октября, 2010 - 11:34:52
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Есть 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"

Помогите Улыбка
 
 Top
SAD Модератор
Отправлено: 03 Октября, 2010 - 15:33:22
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




сначала найдите все, что между тегами div с нужным классом, а потом уже между тегами span - типа find('span')
 
 Top
VAS9
Отправлено: 03 Октября, 2010 - 15:44:03
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




Если тебе нужно из этой строки пропарсить

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.  
 
 Top
Kvazi
Отправлено: 03 Октября, 2010 - 17:19:51
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




SAD для меня программирование темный лес Улыбка
VAS9 Спасибо, работает!
 
 Top
Stas.progger
Отправлено: 08 Октября, 2010 - 12:46:28
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Также должен сработать такой вариант:

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.  


Подмигивание
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB