PHP expression régulière correspondant aux mots

OK, j'ai donc été à la lutte avec cette regex pour les âges et je peux pas le faire fonctionner.

Ce que je veux faire:

Donné une chaîne, je veux un tableau de chaînes contenant les paroles, chacune précédée par des non-caractères de mot.

Exemple la chaîne d'entrée:

one "two" (three) -four-

Les mots de la chaîne peut être n'importe quoi, même charabia, avec n'importe quelle quantité de signes de ponctuation ou des symboles.

Ce que je voudrais voir:

tableau: 
un 
"deux 
"(trois 
) -quatre 
-

Essentiellement, pour chaque match de la dernière chose, c'est un mot, précédé par quoi que ce soit à gauche du précédent match.

Comme indiqué dans cette les questions de titre que je vais utiliser cela en PHP, j'ai essayé différentes combinaisons de preg_match_all() et preg_split(), avec les modèles contenant de nombreuses variantes de "\w", "\b", "[^\w]" et ainsi de suite.

L'Image Plus Grande

En fait, j'ai simplement envie de passer une * après chaque mot de la chaîne pour leurs recherches.

Je ne suis vraiment pas une regex de la personne, l'aide est très appréciée!

Dans votre ce que je voudrais voir, c'est la citation après four censé être sur la ligne suivante?
Vous avez raison, les guillemets semblent avoir été changé quand j'ai posté, j'ai réparé maintenant, j'espère qu'ils ont obtenu par correctement cette fois.

OriginalL'auteur Testic | 2013-02-18