На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ALXR
  
    > Получение информации со стороннего сайта , Регулярные выражения и открытие удаленного файла
      Два вопроса.
      1. Как открыть файл на другом сервере и загнать его в свою переменную.
      2. Сохранить информацию полученную с помощью регулярного выражения.
      Я читал, что сохраняется с помощью скобок, в переменную /1, /2 ... А вот где эти переменные найти?!?
      ExpandedWrap disabled
        <?
         $fo = fopen("http://www.cnews.ru/news/line/subtypes/software/index.shtml", "r");
         $fr = fread($fo, 106700800); // Не хочет ...
         $id = Array(); $yes = "-";
         preg_match_all("/[025]{4}?[0-9]{2}?[0-9]{2}?([0-9]{5,7})/i", $fr, $x);
         for($i=0;$i<count($x[0]);$i++){
          if(substr($x[0][$i], 3, 1) == "5"){
           $z = trim(substr($x[0][$i], 8));
           for($q=0;$q<count($id);$q++){
            if($id[$q]==$z){$yes = $z; break;}else{$yes = "-";}
           }
           if($yes == "-"){
            $id[] = $z;
           }
          }
         }
         for($i=0;$i<count($id);$i++){
          print "$id[$i] <br>\n";
         }
        ?>
      Сообщение отредактировано: CERBER -
        Цитата CERBER @
        Я читал, что сохраняется с помощью скобок, в переменную /1, /2 ... А вот где эти переменные найти?!?

        http://se.php.net/PCRE
        PHP FAQ: Регулярные выражения.

        Добавлено
        ftp://217.107.209.40/Friedl.-.Regulyarniye.virajeniya.%5B7,5MB%5D%5BNetz.ru%5D.rar
          1. Если разрешен allow_url_fopen в php.ini, то
          ExpandedWrap disabled
            $data = file_get_contents('proto://host.domain.zone/path/filename.ext');

          Если нет, но есть cURL, то лучше воспользоваться им, см. cURL (примеры можно найти там же).
          Наконец, если нет cURL, то можно с помощью сокетов или fsockopen, см. Сокеты и fsockopen().
          2. Читать про preg_match_all, обратить внимание на использование констант, определяющий порядок вхождений в массиве.
            SiMM
            Цитата
            http://se.php.net/PCRE
            PHP FAQ: Регулярные выражения.
            Это я уже читал. Тут нет ответа на мой вопрос:
            Цитата
            ... сохраняется с помощью скобок, в переменную /1, /2 ... А вот где эти переменные найти?!?


            Trustmaster
            Все работает, спасибо.

            И последний вопрос:
            Цитата
            ... сохраняется с помощью скобок, в переменную /1, /2 ... А вот где эти переменные найти?!?
              Точнее в переменные $1, $2,.. $n или \\1, \\2,.. \\n. Это для функции preg_replace. А в preg_match и preg_match_all вхождения заполняют массив $matches (третий аргумент функции), а вот каким образом - уже зависит от вышеупомянутых констант. В мане по PCRE и вправду все написано ;)
                Цитата
                Точнее в переменные $1, $2,.. $n или \\1, \\2,.. \\n. Это для функции preg_replace.
                Понятно
                Цитата
                А в preg_match и preg_match_all вхождения заполняют массив $matches (третий аргумент функции), а вот каким образом - уже зависит от вышеупомянутых констант. В мане по PCRE и вправду все написано ;)
                Как ни странноя это и использовал ... но тогда не получалось, всю строку выводил, а сейчаз работает ... глюки ...

                Спасибо. Вопрос закрыт.
                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0232 ]   [ 14 queries used ]   [ Generated: 19.05.24, 12:57 GMT ]