2013-12-23 6 views
0

Так что в основном я использую функцию file_get_contents(), чтобы получить содержимое страницы. Я помещал это содержимое в переменную $content, поэтому я могу работать с ней. <p> На этой странице следующая информация отображается Server (1.7.2) playercount: 400/500PHP - Получить среднее число

Я должен получить две части информации, рассчитывать игрок сам по себе (400/500), и сервер версии (1.7.2). Мне удалось получить количество игроков со следующим кодом:

$playercount = substr($content, strpos($content, ")") + 1); 

, который возвращает ":400/500"

Теперь вот моя проблема, когда я пытаюсь сделать то же самое для версии сервера (1.7.2) я получаю нет Я полагаю, что это потому, что оно не считается строкой:

$version = substr($content, -16, -11); 

Может кто-нибудь мне помочь?

+1

Это информация только текст, который отображается? Или это нечто окруженное множеством других текстов? – Andy

ответ

2

Используйте регулярное выражение матч для обеих информаций:

preg_match('/^\w+\s\((\d\.\d\.\d)\)\s\w+:\s(\d+\/\d+)$/', $content, $result); 
print_r($result); 

См скрипку http://ideone.com/4vAgdE

0

Вы можете использовать регулярные выражения, как rabudde предложил. Или вы можете получить строку между Server ( и ), чтобы найти версию сервера.

0

Я сделал это

preg_match("/^.*?([0-9\.]+).*?([0-9\/]+)/i",$content,$matches); 
$playercount=$matches[1]; 
$version=$matches[2]; 
Смежные вопросы