Diviser une chaîne PHP par caractères de nouvelle ligne
Lorsqu'il s'agit d'entrées multilignes, il est courant de devoir diviser une chaîne en un tableau d'entrées multilignes. lignes. La fonction PHP éclater peut être utilisée à cette fin, mais elle nécessite le bon délimiteur pour diviser avec précision la chaîne.
La tentative initiale, en utilisant éclater('nr', $_POST['skuList']), échoue car il suppose que le caractère de nouvelle ligne est un retour chariot de style Windows suivi d'un saut de ligne (rn). Cependant, en fonction du système d'exploitation et de la source d'entrée, le caractère de nouvelle ligne peut varier.
Bonne pratique : utiliser PHP_EOL
Pour résoudre cette dépendance du système, il est recommandé d'utiliser la constante PHP PHP_EOL. Cette constante représente le caractère de fin de ligne du système actuel, garantissant que la chaîne est divisée de manière cohérente quel que soit l'environnement.
$skuList = explode(PHP_EOL, $_POST['skuList']);
Attention : Dépendance du système dans les données
Bien que l'utilisation de PHP_EOL rende le système de code indépendant, il est important d'être conscient des problèmes potentiels lors du déplacement de données entre systèmes. La constante PHP_EOL du nouveau système peut différer, ce qui risque de casser les données stockées. Pour éviter cela, analysez et nettoyez entièrement les données avant le stockage pour supprimer les composants dépendants du système.
Caractères de nouvelle ligne spécifiques au navigateur
Dans le contexte de ce cas d'utilisation spécifique, il convient de noter que la chaîne provient du navigateur. Les navigateurs utilisent différents caractères de nouvelle ligne selon le système d'exploitation. Pour gérer toutes les possibilités, l'expression régulière suivante peut être utilisée :
$skuList = preg_split('/\r\n|\r|\n/', $_POST['skuList']);
Cette expression correspond à tous les caractères de nouvelle ligne possibles, garantissant que la chaîne est correctement divisée quelle que soit la source.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!