Memisahkan Rentetan sambil Memelihara Frasa Petikan
Tugasnya adalah untuk meletupkan rentetan yang diberikan ke dalam susunan perkataan, dengan keperluan unik yang dipetik frasa dianggap sebagai unit tunggal.
Untuk mencapai matlamat ini, satu pendekatan melibatkan penggunaan biasa padanan ungkapan. Corak yang sesuai untuk menangkap kedua-dua frasa yang dipetik dan perkataan individu ialah:
"(?:\.|[^\"])*"|\S+
Corak ini terdiri daripada dua bahagian yang dipisahkan oleh operator gantian (|):
Untuk menggunakan corak ini dalam PHP, seseorang boleh menggunakan preg_match_all(...):
$text = 'Lorem ipsum "dolor sit amet" consectetur "adipiscing \"elit" dolor'; preg_match_all('/"(?:\.|[^\"])*"|\S+/', $text, $matches);
Ini akan isikan tatasusunan $matches dengan tatasusunan semua padanan yang ditangkap, di mana frasa yang dipetik akan diasingkan sebagai elemen tunggal.
Sebagai contoh, dengan rentetan input yang disediakan:
Lorem ipsum "dolor sit amet" consectetur "adipiscing \"elit" dolor
Output bagi preg_match_all(...) akan menjadi:
Array ( [0] => Array ( [0] => Lorem [1] => ipsum [2] => "dolor sit amet" [3] => consectetur [4] => "adipiscing \"elit" [5] => dolor ) )
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membahagikan Rentetan kepada Perkataan Sambil Mengekalkan Frasa Petikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!