Strings mit mehreren Trennzeichen in PHP auflösen
Wenn Sie mit komplexen Strings arbeiten, müssen Sie diese möglicherweise mit mehreren Trennzeichen auflösen. Hier ist eine detaillierte Untersuchung dieser Herausforderung, die eine mögliche Lösung und einen alternativen Ansatz zeigt.
Problemstellung
Beachten Sie die folgenden String-Arrays:
<code class="php">$example = 'Appel @ Ratte'; $example2 = 'apple vs ratte';</code>
Das Ziel besteht darin, Arrays zu erhalten, die entweder bei „@“ oder „vs“ geteilt sind.
Benutzerdefinierte rekursive Lösung
Ein Ansatz besteht darin, eine rekursive Funktion zu implementieren namens multiExplode. Diese Funktion benötigt ein Array von Trennzeichen und eine Zeichenfolge als Eingabe. Es beginnt mit der Explosion der Zeichenfolge mithilfe des ersten Trennzeichens im Array. Wenn noch Trennzeichen übrig sind und das resultierende Array mehr als ein Element enthält, ruft sich die Funktion rekursiv mit den verbleibenden Trennzeichen und der geänderten Zeichenfolge auf.
<code class="php">private function multiExplode($delimiters, $string) { $ary = explode($delimiters[0], $string); array_shift($delimiters); if ($delimiters != NULL) { if (count($ary) < 2) { $ary = $this->multiExplode($delimiters, $string); } } return $ary; }</code>
Alternative Lösung mit regulären Ausdrücken
Ein anderer Ansatz besteht darin, die regulären Ausdrucksfunktionen von PHP zu verwenden. Die Funktion preg_split() kann verwendet werden, um eine Zeichenfolge mithilfe eines regulären Ausdrucksmusters zu teilen. Indem Sie ein Muster erstellen, das mit einem der gewünschten Trennzeichen („@“ oder „vs“) übereinstimmt, können Sie die Zeichenfolge in die gewünschten Teile aufteilen.
<code class="php">$output = preg_split('/ (@|vs) /', $input);</code>
Beide Methoden können verwendet werden, um Zeichenfolgen in mehrere aufzulösen Trennzeichen in PHP. Die Wahl der zu verwendenden Methode kann von den spezifischen Anforderungen und Vorlieben der Anwendung abhängen.
Das obige ist der detaillierte Inhalt vonWie kann ich Strings mit mehreren Trennzeichen in PHP auflösen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!