Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah saya boleh memotong rentetan berbilang bait sambil mengekalkan sempadan perkataan?

Bagaimanakah saya boleh memotong rentetan berbilang bait sambil mengekalkan sempadan perkataan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-18 02:58:10124semak imbas

How Can I Truncate a Multibyte String While Preserving Word Boundaries?

Pemangkasan Rentetan Berbilangbait dengan Kawalan Sempadan Perkataan

Soalan:

Bagaimana saya boleh memotong a rentetan berbilangbait kepada bilangan aksara yang ditentukan, mengekalkan perkataan sempadan?

Langkah untuk Pemangkasan:

  1. Kira panjang pemangkasan maksimum dengan menolak panjang rentetan penamat daripada kiraan aksara yang dikehendaki.
  2. Periksa sama ada rentetan lebih panjang daripada panjang maksimum; jika tidak, kembalikan rentetan yang tidak berubah.
  3. Cari aksara ruang terakhir dalam panjang pemangkasan yang dikira.
  4. Potong rentetan pada aksara ruang terakhir atau panjang yang dikira jika tiada ruang ditemui.
  5. Tambahkan rentetan penamat pada rentetan terpenggal.
  6. Kembalikan rentetan yang diubah suai rentetan.

Pelaksanaan (Menggunakan mb_strimwidth untuk Sokongan Aksara Berbilangbait):

function truncate_with_words($string, $chars = 50, $terminator = '...') {}

[Pelaksanaan]

Atas ialah kandungan terperinci Bagaimanakah saya boleh memotong rentetan berbilang bait sambil mengekalkan sempadan perkataan?. 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