2013-12-23 17 views
0

所以基本上我使用file_get_contents()函數來獲取頁面的內容。我把這些內容放在變量$content中,所以我可以使用它。在這個頁面下面的信息顯示服務器(1.7.2)playercount <p>: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];