Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Menggantikan Baris Baharu dalam Rentetan dengan Ruang Tunggal dalam PHP?

Bagaimanakah Saya Boleh Menggantikan Baris Baharu dalam Rentetan dengan Ruang Tunggal dalam PHP?

Mary-Kate Olsen
Lepaskan: 2024-12-08 07:43:12
asal
285 orang telah melayarinya

How Can I Replace Newlines in a String with Single Spaces in PHP?

Menghapuskan Baris Baharu dan Menggantikannya dengan Satu Ruang

Untuk mengalih keluar semua baris baharu daripada rentetan dan menggantikannya dengan satu ruang kosong, pertimbangkan pendekatan berikut.

Memahami Masalah

Anda mempunyai rentetan yang mengandungi baris baharu dan ingin menghapuskannya sambil memasukkan satu ruang di tempatnya. Contohnya, rentetan:

$string = "
put returns between paragraphs

for linebreak add 2 spaces at end

";
Salin selepas log masuk

hendaklah menjadi:

$string = "put returns between paragraphs for linebreak add 2 spaces at end ";
Salin selepas log masuk

Penyelesaian

Untuk mencapainya, anda boleh menggunakan preg_replace( PHP ) berfungsi bersama-sama dengan ungkapan biasa untuk memadankan dan menggantikan baris baharu. Ungkapan biasa berikut akan mengenal pasti semua baris baharu, termasuk pemisah baris (n), pemulangan pengangkutan (r) dan baris baharu berganda ("rn"):

/\r\n|\r|\n/
Salin selepas log masuk

Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa pendekatan ini mungkin gantikan berbilang baris baharu berturut-turut dengan berbilang ruang. Untuk mengelakkan perkara ini, gunakan ungkapan biasa yang lebih cekap yang turut memadankan berbilang ruang dan menggantikannya dengan satu ruang:

$string = trim(preg_replace('/\s\s+/', ' ', $string));
Salin selepas log masuk

Dengan ungkapan biasa yang diubah suai ini, kedua-dua baris baharu tunggal dan berbilang, serta berbilang ruang, akan digantikan dengan satu ruang.

Pertimbangan Tambahan

Sementara dengan syarat penyelesaian secara berkesan menghapuskan baris baharu dan memperkenalkan satu ruang di tempatnya, perlu dinyatakan bahawa keadaan boleh menjadi lebih kompleks apabila berbilang perkataan berturut-turut terlibat. Untuk senario sedemikian, pendekatan alternatif yang tidak menghasilkan ruang berganda adalah seperti berikut:

$string = trim(preg_replace('/\s+/', ' ', $string));
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggantikan Baris Baharu dalam Rentetan dengan Ruang Tunggal dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan