Maison > développement back-end > tutoriel php > Comment exploser de manière fiable une chaîne PHP par des caractères de nouvelle ligne ?

Comment exploser de manière fiable une chaîne PHP par des caractères de nouvelle ligne ?

Linda Hamilton
Libérer: 2024-12-02 12:15:10
original
683 Les gens l'ont consulté

How to Reliably Explode a PHP String by New Line Characters?

Explorer la chaîne PHP par une nouvelle ligne

En PHP, la fonction éclater() est utilisée pour diviser une chaîne en un tableau basé sur un délimiteur spécifié. Cependant, lorsqu'il s'agit de chaînes contenant des caractères de nouvelle ligne, l'utilisation du simple délimiteur "n" peut ne pas toujours fonctionner comme prévu.

Votre code $skuList = éclater('nr', $_POST['skuList']) ; ne fonctionne pas car il utilise le délimiteur "nr", qui représente à la fois les caractères de nouvelle ligne Windows et Mac. Cependant, sur des systèmes comme Linux ou Unix, seul « n » est utilisé.

Meilleure pratique :

La meilleure pratique pour exploser des chaînes par de nouvelles lignes consiste à utiliser le Constante PHP PHP_EOL. Cette constante représente le caractère de fin de ligne du système actuel, garantissant que le code est indépendant du système.

$skuList = explode(PHP_EOL, $_POST['skuList']);
Copier après la connexion

Avertissement :

Bien que l'utilisation de PHP_EOL favorise l'indépendance du système, prudence doit être exercé lors du déplacement de données entre des systèmes. La valeur de la constante peut différer d'un système à l'autre, ce qui peut entraîner des inexactitudes dans les données. Par conséquent, il est conseillé d'analyser minutieusement les données avant de les stocker afin de supprimer tout élément dépendant du système.

MISE À JOUR :

Cependant, dans ce cas précis, comme l'a souligné @Andreas, cette solution peut ne pas convenir car les caractères de nouvelle ligne dans $_POST['skuList'] proviennent du navigateur et non du serveur. Par conséquent, une solution plus appropriée est recommandée par @Alin_Purcaru :

$skuList = preg_split('/\r\n|\r|\n/', $_POST['skuList']);
Copier après la connexion

Cette expression régulière divise la chaîne en fonction de l'une des séquences de caractères de nouvelle ligne courantes utilisées par différents systèmes d'exploitation.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal