PHP-String nach neuer Zeile auflösen
In PHP wird die Funktion „explodieren()“ verwendet, um einen String basierend auf a in ein Array aufzuteilen angegebenes Trennzeichen. Wenn Sie jedoch mit Zeichenfolgen arbeiten, die neue Zeilenzeichen enthalten, funktioniert die Verwendung des einfachen Trennzeichens „n“ möglicherweise nicht immer wie erwartet.
Ihr Code $skuList = explosion('nr', $_POST['skuList']) ; funktioniert nicht, da das Trennzeichen „nr“ verwendet wird, das sowohl Windows- als auch Mac-Neuzeilenzeichen darstellt. Auf Systemen wie Linux oder Unix wird jedoch nur „n“ verwendet.
Best Practice:
Die beste Vorgehensweise zum Auflösen von Zeichenfolgen durch neue Zeilen ist die Verwendung von PHP-Konstante PHP_EOL. Diese Konstante stellt das Zeilenendzeichen des aktuellen Systems dar und stellt sicher, dass der Code systemunabhängig ist.
$skuList = explode(PHP_EOL, $_POST['skuList']);
Warnung:
Während die Verwendung von PHP_EOL die Systemunabhängigkeit fördert, ist Vorsicht geboten Beim Verschieben von Daten zwischen Systemen sollte darauf geachtet werden. Der Wert der Konstante kann von System zu System unterschiedlich sein, was möglicherweise zu Datenungenauigkeiten führt. Daher ist es ratsam, die Daten vor dem Speichern gründlich zu analysieren, um systemabhängige Elemente zu entfernen.
UPDATE:
In diesem speziellen Fall jedoch, wie von @Andreas, diese Lösung ist möglicherweise nicht geeignet, da die neuen Zeilenzeichen in $_POST['skuList'] vom Browser und nicht vom Server stammen. Daher empfiehlt @Alin_Purcaru eine geeignetere Lösung:
$skuList = preg_split('/\r\n|\r|\n/', $_POST['skuList']);
Dieser reguläre Ausdruck teilt die Zeichenfolge basierend auf einer der üblichen Zeichenfolgen für neue Zeilen auf, die von verschiedenen Betriebssystemen verwendet werden.
Das obige ist der detaillierte Inhalt vonWie kann man einen PHP-String zuverlässig durch neue Zeilenzeichen auflösen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!