Você deu a resposta no seu primeiro post...
Identifica espaço em branco e tabulação: /[\s]+/
Identifica texto entre aspas: /\"([^\"]*)\"/
OU...
Separei a expressão ali pra você perceber o truque.
Código:
<pre>
<?php
$lines = array
(
'A imperyus é "um fórum bem top" não é mesmo?',
'O navossoc é um cara legal, não é mesmo?',
'Ele gosta de "aspas" também',
'Até de "" vazias',
'Essa é aspa " é uma pegadinha do maladro'
);
foreach($lines as $line)
{
$exp = '/';
$exp .= '("[^"]*")';
$exp .= '|';
$exp .= '[\s+]';
$exp .= '/';
$result = preg_split($exp, $line, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
var_dump($result);
echo "<hr />";
}
?>
</pre>
Eu dei uma apanhada com essa porcaria de "grupos" no php, negócio bizarro, não retorna o que você quer, tem que passar um flag e mesmo assim ainda retorna outros não agrupados...
No mínimo bizarro!
Faça mais alguns testes, mas eu acho que é isso que você quer.
Testei aqui oh:
[Somente usuários registrados podem vem os links. ]
[]'s