Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengekstrak Bilangan Perkataan Tertentu daripada Rentetan dalam PHP?

Bagaimana untuk Mengekstrak Bilangan Perkataan Tertentu daripada Rentetan dalam PHP?

Linda Hamilton
Linda Hamiltonasal
2024-11-04 03:55:02914semak imbas

How to Extract a Specific Number of Words from a String in PHP?

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>
  • 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>
  • 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.

  1. s,.;?!

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!

Kenyataan:
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