За последние 24 часа нас посетили 16470 программистов и 1677 роботов. Сейчас ищут 887 программистов ...

Проблема с парсером

Тема в разделе "PHP для новичков", создана пользователем Alexiez, 19 окт 2010.

  1. Alexiez

    Alexiez Активный пользователь

    С нами с:
    16 окт 2010
    Сообщения:
    22
    Симпатии:
    0
    Подскажите пожалуйста!
    Я начал писать парсер у меня изначально возникла такая проблема, то вообще скрипт не работает (т.е. не выдает никаких ошибок белый экран просто), то начинает вырезать прямо сначала страницы, хотя я указываю с какого тега начинать обрезку либо до самого конца, подскажите пожалуйста новичку в чем может быть проблема?


    PHP:
    1. function cut_str($start, $stop,$str)
    2.  {
    3.     //Поиск начала
    4.      $spos = strpos($str, $start);
    5.      //Удлиняем строку
    6.      $spos = $spos + strlen($str);
    7.      //Режем строку от этой позиции
    8.      $text = substr($str, $spos);
    9.      //Ищем конец в полученной строке
    10.      $end_pos = strpos($text, $stop);
    11.      //Режем по конечной позиции
    12.      $text = substr($text, 0, $end_pos);
    13.      //Возвращаем результат
    14.      return $text;
    15. }
    16. $start = '<h1>';
    17. $stop = 'Update Date';
    18. $str = file_get_contents('http://www.nlm.nih.gov/medlineplus/ency/article/001654.htm');
    19. echo cut_str($start, $stop, $str);
     
  2. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    PHP:
    1. <?
    2. function mb_cut_str($start, $stop,$str) {
    3.     mb_internal_encoding("UTF-8");
    4.     //Поиск начала
    5.     $spos = mb_strpos($str, $start);
    6.     //Ищем конец в полученной строке
    7.      $end_pos = mb_strpos($str, $stop);
    8.     //Режем по конечной позиции
    9.     $text = mb_substr($str, $spos, $end_pos);
    10.     //Возвращаем результат
    11.     return $text;
    12. }
    13.  
    14. $start = '<h4>';
    15. $stop = 'Update Date';
    16. $str = file_get_contents('http://www.nlm.nih.gov/medlineplus/ency/article/001654.htm');
    17. echo mb_cut_str($start, $stop, $str);
    18. ?>
    И не ищи по <h1> - в тексте страницы его попросту нет
     
  3. Alexiez

    Alexiez Активный пользователь

    С нами с:
    16 окт 2010
    Сообщения:
    22
    Симпатии:
    0
    спасиб :)