Bagaimana untuk Memastikan Fungsi substr PHP Berakhir pada Perkataan, Bukan Aksara?

Barbara Streisand
Lepaskan: 2024-11-08 08:51:02
asal
788 orang telah melayarinya

How to Ensure PHP substr Function Ends at Words, Not Characters?

Pastikan PHP substr Fungsi Berakhir pada Perkataan, Bukan Aksara

Fungsi PHP substr() ialah alat yang berkuasa untuk memetik subrentetan daripada yang diberikan rentetan. Walau bagaimanapun, ia boleh mengecewakan apabila petikan berakhir di tengah-tengah perkataan. Untuk menyelesaikan masalah ini, kami boleh menggunakan ungkapan biasa untuk mencari sempadan perkataan yang terdekat untuk memastikan petikan berakhir pada pecahan perkataan semula jadi.

Penyelesaian Menggunakan Ungkapan Biasa:

coretan kod berikut menunjukkan cara mengubah suai panggilan substr() asal untuk mencapai tingkah laku ini:

substr($body, 0, strpos($body, ' ', 260))
Salin selepas log masuk

Penjelasan:

  • strpos($body, ' ', 260) mencari kedudukan aksara ruang putih pertama (ruang antara perkataan) dalam subrentetan panjang 260 dari permulaan rentetan asal $body.
  • Jika ditemui dalam panjang yang ditentukan, substr( ) menggunakan kedudukan ini sebagai titik akhir petikan, memastikan petikan berakhir pada sempadan perkataan terdekat.
  • Jika tiada aksara ruang putih ditemui dalam panjang yang ditentukan, substr() akan mengembalikan keseluruhan subrentetan sehingga ke panjang yang ditentukan.

Contoh:

Pertimbangkan rentetan berikut:

$body = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.";
Salin selepas log masuk

Menggunakan panggilan substr() yang diubah suai, kita boleh ekstrak sebahagian daripada rentetan yang berakhir pada sempadan perkataan:

$excerpt = substr($body, 0, strpos($body, ' ', 260));
Salin selepas log masuk

Output:

"Lorem ipsum dolor sit amet"
Salin selepas log masuk

Seperti yang anda lihat, petikan berakhir pada yang terdekat sempadan perkataan, memberikan hasil yang lebih semula jadi dan lengkap.

Atas ialah kandungan terperinci Bagaimana untuk Memastikan Fungsi substr PHP Berakhir pada Perkataan, Bukan Aksara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan