Mengekstrak Perkataan Khusus daripada Rentetan Teks
Soalan:
Bagaimanakah saya boleh mengehadkan bilangan perkataan yang dikembalikan daripada rentetan teks? Sebagai contoh, saya hanya ingin mendapatkan 10 perkataan awal.
Jawapan:
Untuk mendapatkan N perkataan pertama sahaja daripada rentetan, anda boleh menggunakan pelbagai kaedah dalam PHP. Mari kita terokai beberapa pilihan:
Meletup dengan Array Slice:
Pendekatan ini menggunakan fungsi implode() dan array_slice() untuk mencapai hasil yang diinginkan:
<code class="php">$sentence = "Lorem ipsum dolor sit amet, consectetur adipiscing elit."; $words = implode(' ', array_slice(explode(' ', $sentence), 0, 10)); echo $words; // Output: "Lorem ipsum dolor sit amet consectetur adipiscing elit"</code>
Preg_match Kaedah:
Fungsi preg_match() menyediakan penyelesaian yang lebih fleksibel, membolehkan sokongan untuk pemisah perkataan lain, seperti koma atau sempang:
<code class="php">function get_words($sentence, $count = 10) { preg_match("/(?:\w+(?:\W+|$)){0,$count}/", $sentence, $matches); return $matches[0]; } $sentence = "Lorem ipsum, dolor sit-amet, consectetur adipiscing elit."; echo get_words($sentence); // Output: "Lorem ipsum dolor sit-amet"</code>
Mengendalikan Unikod dan UTF-8:
Perhatikan bahawa pola pembatas perkataan lalai PHP tidak mengambil kira aksara UTF-8. Jika aksara Unicode dan UTF-8 dijangka dalam rentetan anda, anda boleh menyesuaikan corak seperti yang diperlukan:
<code class="php">$pattern = "/[^\s,\.;\?\!]+([\s,\.;\?\!])?{0,$count}/u";</code>
Atas ialah kandungan terperinci Bagaimana Mengekstrak Bilangan Perkataan Tertentu daripada Rentetan Teks dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!