Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Meletupkan Rentetan PHP dengan Watak Baris Baharu?
Meletup Rentetan PHP oleh Baris Baharu
Dalam PHP, fungsi explode() digunakan untuk memisahkan rentetan kepada tatasusunan berdasarkan pembatas yang ditentukan. Walau bagaimanapun, apabila berurusan dengan rentetan yang mengandungi aksara baris baharu, menggunakan pembatas "n" mudah mungkin tidak selalu berfungsi seperti yang diharapkan.
Kod anda $skuList = explode('nr', $_POST['skuList']) ; tidak berfungsi kerana ia menggunakan pembatas "nr", yang mewakili kedua-dua aksara baris baharu Windows dan Mac. Walau bagaimanapun, pada sistem seperti Linux atau Unix, hanya "n" digunakan.
Amalan Terbaik:
Amalan terbaik untuk meledakkan rentetan oleh baris baharu ialah menggunakan PHP pemalar PHP_EOL. Pemalar ini mewakili aksara End Of Line sistem semasa, memastikan kod adalah bebas sistem.
$skuList = explode(PHP_EOL, $_POST['skuList']);
Amaran:
Semasa menggunakan PHP_EOL menggalakkan kebebasan sistem, berhati-hati harus dilaksanakan apabila memindahkan data antara sistem. Nilai pemalar mungkin berbeza antara sistem, yang berpotensi mengakibatkan ketidaktepatan data. Oleh itu, adalah dinasihatkan untuk menghuraikan data dengan teliti sebelum menyimpannya untuk mengalih keluar sebarang elemen yang bergantung kepada sistem.
KEMASKINI:
Walau bagaimanapun, dalam kes khusus ini, seperti yang ditunjukkan oleh @Andreas, penyelesaian ini mungkin tidak sesuai kerana aksara baris baharu dalam $_POST['skuList'] adalah daripada penyemak imbas, bukan pelayan. Oleh itu, penyelesaian yang lebih sesuai disyorkan oleh @Alin_Purcaru:
$skuList = preg_split('/\r\n|\r|\n/', $_POST['skuList']);
Ungkapan biasa ini memisahkan rentetan berdasarkan mana-mana jujukan aksara baris baharu yang biasa digunakan oleh sistem pengendalian yang berbeza.
Atas ialah kandungan terperinci Bagaimana untuk Meletupkan Rentetan PHP dengan Watak Baris Baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!