2009-05-25 16 views
1

eine Zeichenfolge wie Gegeben:Regex Suche Hilfe

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

Ich mag jede ganze Zahl in Anführungszeichen zu finden und ein Array aller in der Zeichenfolge gefunden ganzen Zahlen erstellen.

End Ergebnis sollte ein Array sein wie:

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

Ich vermute, Sie verwenden preg_match(), aber ich habe keine Erfahrung mit regulären Ausdrücken :(

Antwort

7

Wie wäre es damit:

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

Keine Regex, gleiche Antwort

Dies funktioniert, weil die Zeichenfolge, die Sie haben, ein ist serialisiertes PHP-Array. Die Verwendung eines Regex wäre der falsche Weg, dies zu tun.

0

Die Regex (in einem Programm) würde wie folgt aussehen:

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