Heim >Backend-Entwicklung >PHP-Tutorial >Wie teile ich eine Zeichenfolge in Wörter auf und behalte dabei zitierte Phrasen bei?
So teilen Sie Zeichenfolgen nach Wörtern auf und bewahren zitierten Text
Für die angegebene Zeichenfolge „Lorem ipsum „dolor sit amet“ consectetur „adipiscing elit „dolor“ suchen wir nach einer Methode, um es in ein Array zu zerlegen und dabei die Integrität der zitierten Phrasen zu wahren. Die Verwendung des bereitgestellten Codes:
$mytext = "Lorem ipsum %22dolor sit amet%22 consectetur %22adipiscing elit%22 dolor" $noquotes = str_replace("%22", "", $mytext"); $newarray = explode(" ", $noquotes);
führt dazu, dass einzelne Wörter aufgeteilt werden. Um dieses Problem zu lösen, nutzen wir reguläre Ausdrücke:
$text = 'Lorem ipsum "dolor sit amet" consectetur "adipiscing \"elit" dolor'; preg_match_all('/"(?:\\.|[^\\"])*"|\S+/', $text, $matches);
Dieser reguläre Ausdruck stimmt entweder mit Zeichenfolgen in Anführungszeichen oder mit Nicht-Leerzeichen überein. In Anführungszeichen gesetzte Zeichenfolgen können doppelte Anführungszeichen mit Escapezeichen (") enthalten, und die Technik berücksichtigt dies. Das Ergebnis:
Array ( [0] => Array ( [0] => Lorem [1] => ipsum [2] => "dolor sit amet" [3] => consectetur [4] => "adipiscing \"elit" [5] => dolor ) )
Erklärung:
Der reguläre Ausdruck kann unterteilt werden in seine Komponenten:
Das obige ist der detaillierte Inhalt vonWie teile ich eine Zeichenfolge in Wörter auf und behalte dabei zitierte Phrasen bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!