dize değerleri bulma ve depolama

2 Cevap

Ben şöyle bir dize var:

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

Ben bir API bu değerleri getir.

Ben sadece zip = 873289 (infact sadece sayılar) istiyorum.

Yani kullanın:

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

Bu şekilde ben içeriğini getir ve bu kod ile eşleşebilir

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

Ama değişkende saklamak istiyorum, eşleşen sonuçları saklamak için fonksiyonu nedir?

2 Cevap

Eğer parantez ile yakalamak istediğiniz kısmı, daha sonra bu almak için preg_match için fazladan bir parametre tedarik belirtmek gerekir:

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

preg_match() geçirilen üçüncü argüman, onun sonucu saklar by reference. Yani yerine:

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

Sen sahip olmalıdır:

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