preg_match_all('/([\x22\x27])((?:.(?!\1))*.)\1/', '"var1" "var2" "var3" "var4 heh"', $matches); print_r($matches); Array ( [0] => Array ( [0] => "var1" [1] => "var2" [2] => "var3" [3] => "var4 heh" ) [1] => Array ( [0] => " [1] => " [2] => " [3] => " ) [2] => Array ( [0] => var1 [1] => var2 [2] => var3 [3] => var4 heh ) )