Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Парсер html страницы.


Автор: Valior 3.9.2011, 16:39
Нужна функция, чтобы записать в массив состав клана. Вот приблизительно как я смог решить этот вопрос, но дальше чет не могу сообразить...
Откуда беру инфу http://oldbk.com/encicl/klani/clans.php?clan=TheGuild


Код

function get_info_clan($id)
    {
        do
        {
            $url = file_get_contents("url сайта=".$id);


            if ($url == null)
            {
                echo ("Can`t get source page, waiting 30 seconds. \n");
                sleep(30);
            }
        } while ($url == null);

        
        {
         preg_match("|<center><h1>Состав клана:</h1></center>(.+)</a><br>|is", $url,$result);

         
         
        }
      return $result[1];
    
            
              
    }


Подскажите что нужно дописать, чтобы можно было обращаться к переменной допустим так sostav[1] = 1 сокланер, sostav[2] = 2й и так далее. + нужно еще вырезать от <b> до </b>.



Автор: Absinthe 3.9.2011, 17:29
http://php.net/preg_match

Автор: Valior 3.9.2011, 18:34
Код

$url = strip_tags($url,'<b>');


Решил сначала сделать так smile

Автор: Valior 3.9.2011, 20:21
Код

function get_info_clan($id)
    {
        do
        {
            $url = file_get_contents("url сайта=".$id);


            if ($url == null)
            {
                echo ("Can`t get source page, waiting 30 seconds. \n");
                sleep(30);
            }
        } while ($url == null);

        
        {
         preg_match("|<center><h1>Состав клана:</h1></center>(.+)</a><br>|is", $url,$bas);
         $bas = strip_tags($bas[1],'<b>');
         preg_match_all("#(?<=<b>).+?(?=<\/b)#is", $bas, $sp);  
         
        }

    
            
              
    }


Подскажите, как передавать в жругую функцию элемент массива?

Автор: Evghenusi 4.9.2011, 02:08
Цитата(Valior @  3.9.2011,  20:21 Найти цитируемый пост)
file_get_contents("url сайта=".$id);
действительно работает? удивительно как-то

Добавлено через 4 минуты и 51 секунду
Цитата(Valior @  3.9.2011,  20:21 Найти цитируемый пост)
Подскажите, как передавать в жругую функцию элемент массива? 


Код
function F($a)
{
...
}
F($my_array[0]);
F($my_array[1]);
об этом вопрос?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)