2016-12-13 3 views
-1

Dies ist für die Serverseite, unabhängig vom Client.Variablenwert per Name aus einem String abrufen

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

Die textfile.txt enthält

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

Was kann ich geben, so kann ich echo obTemperature Wert von 55 bekommen?

Gibt es nicht eine einfache PHP-Schnittstelle zum Lesen von Var-Werten nach Namen?

bitte nicht über komplizierte/Halb Antworten/Trolling,

+3

als Alternative, können Sie JSON-Datei stattdessen auf Ihre PHP-Seite verwenden, erhalten nur die Inhalt, JSON entschlüsseln und Sie sind gut zu gehen – Ghost

+0

Danke, dass Sie versucht, aber über die Ergebnisse kompliziert. . aufgegeben . – newuser0250

+4

Nun, was auch immer Ihr Boot schwimmt, ich würde es so machen, '{" obTemperature ":" 55 "," obIconCode ":" 01 "}', einfach Datei holen Inhalt, JSON decode, und Sie haben sich Werte und tun, was Sie wollen – Ghost

Antwort

0

Sie einen regulären Ausdruck verwenden:

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

DEMO

+0

Echo $ Temperatur; produziert nichts danke Barmar – newuser0250

+0

Ich habe eine Demo hinzugefügt, die zeigt, dass es funktioniert. Wenn es für Sie nicht funktioniert, enthält die Datei nicht das, was Sie gesagt haben. Vielleicht sind die Felder nicht genau so, wie du es gezeigt hast?Sie können den regulären Ausdruck natürlich optimieren, um ihn flexibler zu machen. – Barmar

0

Sie besser im Allgemeinen tun wollen, was Sie wäre zu erklären , aber wenn Sie an dieses Dateiformat gebunden sind und das Format konsistent ist:

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

echo $obTemperature; 
echo $obIconCode; 

Alle anderen Arten von JavaScript-Code verursachen jedoch einen Parse-Fehler.

Außerdem können Sie es als ini Datei behandeln:

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

Oder einfach:

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

danke nur versuchen, Werte von Datei nach Name zu erhalten. . – newuser0250

+0

Sobald Sie eval ($ Daten) Wie liest Echo von Eval? .. danke gute Antwort – newuser0250

+0

Wenn Sie 'eval' sind, werden die Variablen erstellt, die Sie verwenden können. – AbraCadaver