preg_split(/\s|"([^"]+)"/ .... lässt zwar die Whitespaces innerhalb der " " in Ruhe, verschluckt aber auch die " "
kann ich nicht ganz nachvollziehen. Müßte nicht der ganze Ausdruck in "" verschluckt werden? Und wenn ja, kannst Du ihn doch mit dem flag "PREG_SPLIT_DELIM_CAPTURE" auch zurückgeben. Ansonsten würde ich es halt in zwei Schritten machen: erst nach "wort1 wort2 wort3" suchen und dann die restlichen Teile am " " aufteilen.
ohne PREG_SPLIT_DELIM_CAPTURE würde er von vornherein schon die " " verschlucken, das stimmt.
Das PREG_SPLIT_DELIM_CAPTURE steht so auch mit in der Anweisung mit drin, ich wollte nur nicht die ganze Zeile schreiben, da ja nur die geschriebenen Teile relevant sind.
Allerdings ist eben das Problem, dass wenn er es am " " trennt, diese eben verschwinden.
Deshalb dachte ich, es muss doch eine Regular Expression geben, die mir die Möglichkeit gibt, alles in einer Zeile zu trennen, da ja die Wörter innerhalb der " " in einem Stück erhalten bleiben müssen und nur außerhalb der Doublequotes alles am Whitespace getrennt werden soll.
Und die Doublequotes müssen unbedingt dem String zugehörig bleiben, da sie wichtig sind für die Übergabe an die Suchmaschine, damit auch diese weiß, dass dort eine Phrase gesucht wird.
Gruß
CM