从字符串中查找和存储值

时间:2009-06-24 13:27:53

标签: php

我有一个看起来像这样的字符串:

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

我从api中获取这些值。

我只想要zip = 873289(实际上只是数字)。

所以我用:

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

这样我就可以获取内容,并且可以将其与此代码匹配

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

但是我想将它存储在变量中,什么是存储匹配结果的函数?

2 个答案:

答案 0 :(得分:2)

您需要用括号指示要捕获的部分,然后为preg_match提供一个额外的参数来选择它们:

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

答案 1 :(得分:0)

preg_match()将其结果存储在第三个参数中,该参数传递给by reference。所以而不是:

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

你应该:

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