Wenn Sie mit Text in PHP arbeiten, müssen Sie möglicherweise einen String in Zeilen aufteilen. Traditionell wurde hierfür die Explosionsfunktion mit einem Zeilenumbruchzeichen als Trennzeichen verwendet. Dieser Ansatz kann jedoch zu unerwarteten Ergebnissen führen, wenn die Eingabezeichenfolge Variationen in Zeilenumbrüchen enthält.
Der bereitgestellte Code:
$skuList = explode('\n\r', $_POST['skuList']);
ist gemeint um die skuList-Eingabe sowohl in Zeilenumbrüche im Windows-Stil (rn) als auch im UNIX-Stil (n) aufzuteilen. Dieser Ansatz ist jedoch nicht systemunabhängig und kann auf Systemen fehlschlagen, die unterschiedliche Zeilenumbruchzeichen verwenden.
Um die Systemunabhängigkeit sicherzustellen, sollten Sie die Verwendung der PHP_EOL-Konstante in Betracht ziehen:
$skuList = explode(PHP_EOL, $_POST['skuList']);
PHP_EOL stellt den Newline-Charakter des aktuellen Systems dar und gewährleistet so ein konsistentes Verhalten. Alternativ können Sie preg_split für eine feinere Steuerung verwenden:
$skuList = preg_split('/\r\n|\r|\n/', $_POST['skuList']);
Diese Regex entspricht allen möglichen Newline-Varianten und gewährleistet so eine umfassende Aufteilung.
Die Verwendung systemunabhängiger Konstanten macht Ihr Code ist portierbar, es ist jedoch wichtig zu beachten, dass beim Verschieben von Daten zwischen Systemen mit unterschiedlichen Zeilenumbruchkonventionen Probleme auftreten können. Um dies zu vermeiden, analysieren Sie die Daten vor der Speicherung gründlich und entfernen Sie alle systemabhängigen Elemente.
Das obige ist der detaillierte Inhalt vonWie kann ich in PHP Zeichenfolgen zuverlässig in Zeilen aufteilen und dabei verschiedene Zeilenumbrüche verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!