2013-10-03 2 views
0

Я хочу, чтобы показать 10 лучших игроков на моем сервере с gametracker.com на моей веб-странице. Теперь я посмотрел исходный код страницы gametracker.com который показывает лучшие 10 игроков и часть выглядит следующим образомПоказывать определенную часть другой веб-страницы в шахте

<div class="blocknew blocknew666"> 
     <div class="blocknewhdr"> 
      TOP 10 PLAYERS <span class="item_text_12">(Online &amp; Offline)</span> 
     </div> 
     <table class="table_lst table_lst_stp"> 
      <tr> 
       <td class="col_h c01"> 
        Rank 
       </td> 
       <td class="col_h c02"> 
        Name 
       </td> 
       <td class="col_h c03"> 
        Score 
       </td> 
       <td class="col_h c04"> 
        Time Played 
       </td> 
      </tr> 
      . 
      . 
      . 
      . 
     </table> 
     <div class="item_h10"> 
     </div> 
<a class="fbutton" href="/server_info/*.*.*.*:27015/top_players/"> 
      View All Players &amp; Stats 
     </a> 
    </div> 

Как вы можете видеть содержание, что я хочу в class="blocknew blocknew666" я мог бы легко вытащил его, если он был в идентификаторе, но я не знаю, как его обрабатывать, когда содержимое находится внутри класса. Я немного посмотрел в интернете и наткнулся на это

// Create DOM from URL or file 
$html = file_get_html('http://www.google.com/'); 

// Find all images 
foreach($html->find('img') as $element) 
     echo $element->src . '<br>'; 

// Find all links 
foreach($html->find('a') as $element) 
     echo $element->href . '<br>'; 

Можно ли использовать этот код для выполнения того, что я хочу? Если да, пожалуйста, напишите строку кода, которую мне нужно будет использовать, или дайте мне некоторое предложение о том, как решить эту проблему.

ответ

0

основы предложения тремора в это рабочий код выше проблемы

<?php 

function rstrstr($haystack,$needle) 
    { 
     return substr($haystack, 0,strpos($haystack, $needle)); 
    } 

$html = file_get_contents('http://www.gametracker.com/server_info/*.*.*.*:27015/'); 
$topten = strstr($html, 'TOP 10 PLAYERS');//this will print everthing after the content you looked for. 
$topten = strstr($topten, '<table class="table_lst table_lst_stp">'); 
$topten = rstrstr($topten,'<div class="item_h10">'); //this will trim stuff that is not needed 
echo $topten; 

?> 
1

Я только отправлю частичный ответ, потому что я считаю, что это может быть нарушением условий использования сервиса GameTracker, то, что вы просите, в основном является методом кражи запатентованного контента с другого веб-сайта , СЛЕДУЕТ СЛЕДУЕТ ПОСМОТРЕТЬ РАЗРЕШЕНИЕ от GameTracker, прежде чем вы это сделаете.

Для этого я бы использовал strstr. http://php.net/manual/en/function.strstr.php

$html = file_get_html('http://www.gametracker.com/server_info/someip/'); 
$topten = strstr($html, 'TOP 10 PLAYERS'); 
echo $topten; //this will print everthing after the content you looked for. 

Теперь я оставлю это до вас, чтобы выяснить, как отрубить неразделанный необходимо содержание, которое приходит после того, как Десятка сделано и получить разрешение от GameTracker использовать это.

+0

Я понимаю, но дело в том, что лучшие игроки с моего сервера, поэтому я чувствую, что я оправдан в получении списка из 10 лучших игроков, играющих на моем игровом сервере. –

+0

@RickRoy Если они играют на вашем игровом сервере , для чего вам нужен внешний источник для их отслеживания? –

+0

Я не уверен, как обращаться с лентой из AMX-мод, чтобы получить список лучших игроков, и было проще взломать и получить данные с gametracker.com, чем научиться извлекать данные из AMX –

0

Код Предоставленная часть библиотеки simpledom

http://simplehtmldom.sourceforge.net/

Вам необходимо скачать и включить библиотеку для работы кода.

+0

Да, я видел это и поэтому изменил код на использование 'file_get_contents', так как я только собираюсь получить контент и не забочусь, если он находится в xml, поэтому он работает для этой ситуации –

Смежные вопросы