2009-05-25 2 views
1

Учитывая строку, такие как:Regex Поиск Помощь

a:2:{i:0;s:1:"1";i:1;s:1:"2";} 

Я хочу, чтобы найти все целое число в кавычки и создать массив целых чисел, найденных в строке.

Конечный результат должен быть массив, как:

Array 
(
    [0] => 1 
    [1] => 2 
) 

Я предполагаю, что вы используете preg_match(), но у меня нет опыта работы с регулярными выражениями :(

ответ

7

Как об этом:

$str = 'a:2:{i:0;s:1:"1";i:1;s:1:"2";}'; 
print_r(array_values(unserialize($str))); 

Не регулярное выражение, тот же ответ

Это работает, потому что у вас есть строка сериализованный массив PHP. Использование регулярного выражения было бы неправильным способом сделать это.

0

Регулярное выражение (в программе) будет выглядеть следующим образом:

$str = 'a:2:{i:0;s:1:"1";i:1;s:1:"2";}'; 
preg_match_all('/"(\d+)"/', $str, $matches); 
print_r($matches[1]);