За последние 24 часа нас посетили 17759 программистов и 1658 роботов. Сейчас ищут 927 программистов ...

Почему может не работать парсинг текстовой переменной?

Тема в разделе "Прочие вопросы по PHP", создана пользователем Spideful, 3 авг 2007.

  1. Spideful

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

    С нами с:
    3 авг 2007
    Сообщения:
    11
    Симпатии:
    0
    Есть файл в формате .txt на локальном диске. В нём html-код страницы, который парсю с помощью регулярных выражений. Т.е. сначала считываю код из файла в переменную, а потом обрабатываею. Функция парсинга при этом работает правильно.

    Но если грузить тотже самый html-код не из файла, а с url-адреса, функция обработки не работает, при этом не выводит ничего. Хотя в переменную html-код считывается полностью. echo $contents; выводит страницу, т.е. в памяти она есть.
    Не понимаю, что может быть с текстовой переменной, если отлаженый алгоритм её не воспринимает. Ниже две
    функции, я думаю, что они возвращают одно и тоже, но в разном виде. Так ли это? Как возращаемую текстовую переменную, привести к одному виду?

    Код (Text):
    1. function GetFile($filename)
    2. {
    3.   $handle = fopen($filename, "r");
    4.   $contents = fread($handle, filesize($filename));
    5.   fclose($handle);
    6.   return $contents;
    7. }
    Код (Text):
    1. function GetHTMLPage($host)
    2. {
    3.   $handle = fopen($host, "rb");
    4.   $contents = '';
    5.  
    6.   while (!feof($handle))
    7.   {
    8.     $contents .= fread($handle, 8192);
    9.   }
    10.   fclose($handle);
    11.  
    12.   return $contents;
    13. }
     
  2. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    а покажи как парсишь?
     
  3. Spideful

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

    С нами с:
    3 авг 2007
    Сообщения:
    11
    Симпатии:
    0
    Разобрался. Проблема была в кодировке, а шаблон парсинга был зацеплен частично на русских символах.