Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich eine Zeichenfolge in PHP aufteilen und dabei zitierte Wörter beibehalten?

Wie kann ich eine Zeichenfolge in PHP aufteilen und dabei zitierte Wörter beibehalten?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-05 09:43:10564Durchsuche

How Can I Split a String in PHP While Preserving Quoted Words?

Wörter in Anführungszeichen beim Aufteilen von Zeichenfolgen in PHP beibehalten

Wenn Sie eine Zeichenfolge in ein Array aufteilen müssen, kann es schwierig sein, wenn die Die Zeichenfolge enthält in Anführungszeichen eingeschlossene Wörter, die intakt bleiben sollten. In diesem Fall möchten Sie die folgende Zeichenfolge auflösen:

Lorem ipsum "dolor sit amet" consectetur "adipiscing elit" dolor

In dieses Array:

array("Lorem", "ipsum", "dolor sit amet", "consectetur", "adipiscing elit", "dolor")

Anstatt den Text innerhalb der Anführungszeichen aufzuteilen, können Sie ein preg_match_all( ...) Funktion, um dies zu erreichen:

$text = 'Lorem ipsum "dolor sit amet" consectetur "adipiscing \"elit" dolor';
preg_match_all('/"(?:\\.|[^\\"])*"|\S+/', $text, $matches);

Dieser reguläre Ausdruck funktioniert wie folgt folgt:

  • Es stimmt entweder mit einer Zeichenfolge überein, die in doppelte Anführungszeichen eingeschlossen ist (Escape-Anführungszeichen werden ebenfalls behandelt).
  • Oder es stimmt ein oder mehrere Male mit einem beliebigen Nicht-Leerzeichen überein.

Das resultierende $matches-Array enthält die gewünschten geteilten Wörter:

Array
(
    [0] => Array
        (
            [0] => Lorem
            [1] => ipsum
            [2] => "dolor sit amet"
            [3] => consectetur
            [4] => "adipiscing \"elit"
            [5] => dolor
        )

)

Durch die Verwendung dieses Ansatzes können Sie kann Zeichenfolgen effektiv auflösen und gleichzeitig die Integrität zitierter Wörter bewahren.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Zeichenfolge in PHP aufteilen und dabei zitierte Wörter beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn