Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Memisahkan Rentetan dalam PHP Semasa Memelihara Perkataan yang Dipetik?

Bagaimanakah Saya Boleh Memisahkan Rentetan dalam PHP Semasa Memelihara Perkataan yang Dipetik?

Mary-Kate Olsen
Lepaskan: 2024-12-05 09:43:10
asal
536 orang telah melayarinya

How Can I Split a String in PHP While Preserving Quoted Words?

Memelihara Perkataan dalam Petikan Semasa Memisahkan Rentetan dalam PHP

Apabila anda perlu membahagikan rentetan kepada tatasusunan, ia boleh mencabar jika rentetan mengandungi perkataan yang disertakan dalam petikan yang harus kekal utuh. Dalam kes ini, anda ingin meletupkan rentetan berikut:

Lorem ipsum "dolor sit amet" consectetur "adipiscing elit" dolor
Salin selepas log masuk

Ke dalam tatasusunan ini:

array("Lorem", "ipsum", "dolor sit amet", "consectetur", "adipiscing elit", "dolor")
Salin selepas log masuk

Daripada membelah teks dalam tanda petikan, anda boleh menggunakan preg_match_all( ...) berfungsi untuk mencapai ini:

$text = 'Lorem ipsum "dolor sit amet" consectetur "adipiscing \"elit" dolor';
preg_match_all('/"(?:\\.|[^\\"])*"|\S+/', $text, $matches);
Salin selepas log masuk

Ungkapan biasa ini berfungsi sebagai berikut:

  • Ia sepadan dengan sama ada jujukan aksara yang disertakan dalam petikan berganda (petikan yang dilepaskan juga dikendalikan).
  • Atau, ia sepadan dengan mana-mana aksara bukan ruang putih satu kali atau lebih.

Tatasusunan $matches yang terhasil akan mengandungi pembahagian yang dikehendaki perkataan:

Array
(
    [0] => Array
        (
            [0] => Lorem
            [1] => ipsum
            [2] => "dolor sit amet"
            [3] => consectetur
            [4] => "adipiscing \"elit"
            [5] => dolor
        )

)
Salin selepas log masuk

Dengan menggunakan pendekatan ini, anda boleh meledakkan rentetan dengan berkesan sambil mengekalkan integriti perkataan yang dipetik.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memisahkan Rentetan dalam PHP Semasa Memelihara Perkataan yang Dipetik?. 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