Aufteilen einer PHP-Zeichenfolge durch Newline-Zeichen
Beim Umgang mit mehrzeiligen Eingaben ist es üblich, eine Zeichenfolge in ein Array einzelner Zeichen aufzuteilen Linien. Zu diesem Zweck kann die PHP-Explosive-Funktion verwendet werden, sie erfordert jedoch das richtige Trennzeichen, um die Zeichenfolge genau zu unterteilen.
Der erste Versuch, explosion('nr', $_POST['skuList']) zu verwenden, schlägt fehl weil es davon ausgeht, dass das Newline-Zeichen ein Wagenrücklauf im Windows-Stil ist, gefolgt von einem Zeilenvorschub (rn). Allerdings kann das Newline-Zeichen je nach Betriebssystem und Eingabequelle variieren.
Best Practice: Verwendung von PHP_EOL
Um diese Systemabhängigkeit zu beheben, wird die Verwendung empfohlen die PHP-Konstante PHP_EOL. Diese Konstante stellt das Zeilenendezeichen für das aktuelle System dar und stellt sicher, dass die Zeichenfolge unabhängig von der Umgebung konsistent aufgeteilt wird.
$skuList = explode(PHP_EOL, $_POST['skuList']);
Achtung: Systemabhängigkeit in Daten
Während die Verwendung von PHP_EOL den Code systemunabhängig macht, ist es wichtig, sich potenzieller Probleme beim Verschieben von Daten zwischen Systemen bewusst zu sein. Die PHP_EOL-Konstante des neuen Systems kann abweichen, wodurch möglicherweise gespeicherte Daten beschädigt werden. Um dies zu vermeiden, analysieren und bereinigen Sie die Daten vor der Speicherung vollständig, um systemabhängige Komponenten zu entfernen.
Browserspezifische Zeilenumbrüche
Im Kontext dieses speziellen Anwendungsfalls gilt: Es ist erwähnenswert, dass die Zeichenfolge vom Browser kommt. Browser verwenden je nach Betriebssystem unterschiedliche Zeilenumbruchzeichen. Um alle Möglichkeiten abzudecken, kann der folgende reguläre Ausdruck verwendet werden:
$skuList = preg_split('/\r\n|\r|\n/', $_POST['skuList']);
Dieser Ausdruck stimmt mit allen möglichen Newline-Zeichen überein und stellt so sicher, dass die Zeichenfolge unabhängig von der Quelle korrekt aufgeteilt wird.
Das obige ist der detaillierte Inhalt vonWie kann ich eine mehrzeilige Zeichenfolge in PHP zuverlässig aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!