2016-12-13 96 views
-1

這是服務器端,無論客戶端如何。從字符串中獲取名稱變量值

$data= file_get_contents('textfile.txt'); 

textfile.txt包含

var obTemperature = "55"; 
var obIconCode = "01"; 

我可以進入,所以我可以得到55echo obTemperature價值?

有沒有一個簡單的PHP接口來讀取var值的名稱?

請沒有過於複雜/半答案/曳,

+3

作爲替代,你可以使用JSON文件,而不是,你的PHP端,剛拿到內容,JSON解碼它,你很好去 – Ghost

+0

謝謝你試過,但過於複雜的結果。 。放棄 。 – newuser0250

+4

好吧,無論什麼浮動你的船,我會這樣做,'{「obTemperature」:「55」,「obIconCode」:「01」},只是文件獲取內容,JSON解碼,你有你自己值和做你想要的 – Ghost

回答

0

您可以使用正則表達式:

preg_match('/var obTemperature = "(\d+)";/', $data, $match); 
$temperature = $match[1]; 

DEMO

+0

echo $ temperature;什麼都沒有產生謝謝Barmar – newuser0250

+0

我已經添加了一個演示,顯示它的工作原理。如果它不適合你,那麼該文件不包含你所說的內容。也許這些空間並不完全像你展示的那樣?你顯然可以調整正則表達式,使其更加靈活。 – Barmar

0

你會好起來的,說明您想在一般做什麼,但是如果你被綁定到這個文件格式並且格式是一致的:

$data = str_replace('var ', '$', $data); 
eval($data); 

echo $obTemperature; 
echo $obIconCode; 

但是,任何其他類型的JavaScript代碼都會導致解析錯誤。

另外,還可以把它當作一個ini文件:

$data = str_replace('var ', '', parse_ini_string($data)); 
echo $data['obTemperature']; 

或者只是:

$data = parse_ini_string($data); 
echo $data['var obTemperature']; 
+0

感謝您試圖從文件名稱獲取值。 。 – newuser0250

+0

一旦您評估($ data)echo是如何從eval中讀取的? ..謝謝你好回答 – newuser0250

+0

當你'eval'變量被創建供你使用。 – AbraCadaver