поиск и сохранение значений из строки - PullRequest
1 голос
/ 24 июня 2009

У меня есть строка, которая выглядит примерно так:

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

Я получаю эти значения из API.

Я хочу только почтовый индекс = 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 ]

2 голосов
/ 24 июня 2009

Вам нужно указать часть, которую вы хотите захватить, в скобках, а затем предоставить дополнительный параметр preg_match, чтобы подобрать их:

$matches=array();
if (preg_match ('/zip=([0-9]+)/', $fetched, $matches ))
{
    $zip=$matches[1];
}
0 голосов
/ 24 июня 2009

preg_match () сохраняет свой результат в третьем аргументе, который передается по ссылке . Так что вместо:

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

Вы должны иметь:

preg_match ('/zip=[0-9]+/', $fetched, $zip);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...