Mengekstrak Perkataan Awal Rentetan
Masalah: Hadkan kandungan tekstual dengan mengekstrak hanya bilangan perkataan tertentu daripada rentetan.
Penyelesaian: Gunakan pendekatan berikut:
Menggunakan implode() dan array_slice()
<code class="php">implode(' ', array_slice(explode(' ', $sentence), 0, 10));</code>
Salin selepas log masuk
- Pisah rentetan kepada tatasusunan perkataan menggunakan explode().
- Potong tatasusunan untuk mengekalkan bilangan perkataan yang dikehendaki sahaja (dalam kes ini, 10).
- Sertai tatasusunan yang dihiris kembali ke dalam rentetan menggunakan implode().
Menggunakan preg_match() untuk Penyesuaian Pecah Kata yang Dipertingkatkan
<code class="php">function get_words($sentence, $count = 10) {
preg_match("/(?:\w+(?:\W+|$)){0,$count}/", $sentence, $matches);
return $matches[0];
}</code>
Salin selepas log masuk
- Fungsi ini menggunakan ungkapan biasa untuk memadankan kumpulan aksara perkataan (w ) yang mungkin diselingi dengan aksara bukan perkataan (W ) atau penghujung baris ($).
- Pengkuantiti {0,$count} mengehadkan padanan kepada bilangan perkataan yang dikehendaki.
- Fungsi mengembalikan memadankan perkataan sebagai rentetan tunggal.
Pengendalian UTF-8/Unicode
Fungsi terbina dalam PHP mungkin tidak mengendalikan aksara UTF-8/Unicode secara optimum. Untuk menangani perkara ini:
- Ganti w dengan 1 untuk aksara perkataan.
- Ganti W dengan [s,.;?!] untuk aksara bukan perkataan.
Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Bilangan Perkataan Tertentu daripada Rentetan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!