2009-06-24 7 views
1

ich eine Zeichenfolge haben, die etwa wie folgt aussieht:Auffinden und Speichern von Werten von String

$fetched = name=myName zip=420424 country=myCountry; 
// and so on, it is not an array 

ich diese Werte aus einem api holen.

Ich möchte nur die zip = 873289 (eigentlich nur die Zahlen).

Also ich benutze:

// $fetched above is the output of the function below 
$fetched = file_get_contents("http://example.com"); 

So kann ich den Inhalt holen und es kann

$zip = preg_match ('/zip=[0-9]+/', $fetched); 

Aber ich will mit diesem Code entsprechen sie in den Variablen speichern, was Funktion zum Speichern die übereinstimmenden Ergebnisse?

Antwort

2

Sie müssen den Teil, den Sie mit Klammern aufnehmen möchten, um anzuzeigen, liefern dann einen zusätzlichen Parameter preg_match diese holen:

$matches=array(); 
if (preg_match ('/zip=([0-9]+)/', $fetched, $matches)) 
{ 
    $zip=$matches[1]; 
} 
0

preg_match() speichert das Ergebnis im dritten Argument, das by reference geben wird. Also statt:

$zip = preg_match ('/zip=[0-9]+/', $fetched); 

sollten Sie haben:

preg_match ('/zip=[0-9]+/', $fetched, $zip); 
Verwandte Themen