Maison >développement back-end >tutoriel php >Comment puis-je diviser de manière fiable des chaînes en lignes en PHP, en gérant divers caractères de nouvelle ligne ?
Lorsque vous travaillez avec du texte en PHP, vous devrez peut-être séparer une chaîne en lignes. Traditionnellement, cela était fait en utilisant la fonction d'explosion avec un caractère de nouvelle ligne comme délimiteur. Cependant, cette approche peut conduire à des résultats inattendus si la chaîne d'entrée contient des variations dans les caractères de nouvelle ligne.
Le code fourni :
$skuList = explode('\n\r', $_POST['skuList']);
est destiné pour diviser l'entrée skuList sur les nouvelles lignes de style Windows (rn) et UNIX (n). Cependant, cette approche n'est pas indépendante du système et peut échouer sur les systèmes qui utilisent des caractères de nouvelle ligne différents.
Pour garantir l'indépendance du système, envisagez d'utiliser la constante PHP_EOL :
$skuList = explode(PHP_EOL, $_POST['skuList']);
PHP_EOL représente le caractère de nouvelle ligne du système actuel, garantissant un comportement cohérent. Alternativement, vous pouvez utiliser preg_split pour un contrôle plus précis :
$skuList = preg_split('/\r\n|\r|\n/', $_POST['skuList']);
Cette expression régulière correspond à toutes les variations de nouvelle ligne possibles, garantissant un fractionnement complet.
L'utilisation de constantes indépendantes du système rend votre code est portable, mais il est important de noter que des problèmes peuvent survenir lors du déplacement de données entre des systèmes avec des conventions de nouvelle ligne différentes. Pour éviter cela, analysez soigneusement les données avant le stockage et supprimez tous les éléments dépendants du système.
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!