nach Text innerhalb von Anführungszeichen

maniteni

Grünschnabel
Hallo!

Ich kenne mich mit regulären Ausdrücken nicht aus. Ich möchte einen String, ersteinmal nach Anführungszeichen und zweitens nach Leerzeichen teilen.
z.B.

ich habe den String -> "dies ist ein Test" und ein Beispiel
als Ergebnis soll folgende Array erstellt werden:

Array[0] = dies ist ein Test
Array[1] = und
Array[2] = ein
Array[3] = Beispiel

Ich denke für diese Aufgabe ist preg_split sehr gut geeignet. Allerdings kann ich den Ausdruck nicht definieren.

Kann mir bitte jemand helfen?
 
Probier mal folgende Funktion
PHP:
/**
 * Tokenize Quoted String
 *
 * split a string into an array of space-delimited tokens, taking single-quoted or double-quoted strings into account (for breaking up search queries, for example)
 *
 * @param	string	$string
 * @return	string
 */
function tokenizeQuoted( $string )
{
	// U+0022	QUOTATION MARK
	// U+0027	APOSTROPH
	for( $tokens=array(), $nextToken=strtok($string, ' '); $nextToken!==false; $nextToken=strtok(' ') ) {
		if( $nextToken{0}==chr(0x22) || $nextToken{0}==chr(0x27) ) {
			$chr = $nextToken{0};
			$nextToken = $nextToken{strlen($nextToken)-1} == $chr
				? substr($nextToken, 1, -1)
				: substr($nextToken, 1) . ' ' . strtok($chr);
		}
		$tokens[] = $nextToken;
	}
	return $tokens;
}
Einfache Anführungsstriche werden auch beachtet.
 
Zurück