Memotong Rentetan dalam PHP: Pendekatan Komprehensif
Dalam PHP, anda mungkin menghadapi situasi di mana anda perlu mengehadkan bilangan aksara yang dipaparkan dalam seutas tali. Ini biasanya dilakukan untuk mengekalkan ruang atau hanya memaparkan pratonton kandungan yang lebih panjang. Mari kita terokai pelbagai teknik untuk memotong rentetan dengan cekap.
Mendapatkan n Aksara Pertama
Untuk pemangkasan mudah, anda boleh menggunakan fungsi substr() PHP. Contohnya, untuk mendapatkan 10 aksara pertama rentetan dan menambahkan elipsis (...) jika aksara dialih keluar, anda boleh menggunakan kod berikut:
$string = substr($string, 0, 10) . '...';
Mengoptimumkan Panjang
Untuk memastikan rentetan yang dipotong sentiasa panjang yang diingini, anda boleh menyemak panjang sebelum memotong:
$string = (strlen($string) > 13) ? substr($string, 0, 10) . '...' : $string;
Dalam contoh ini, panjang maksimum ialah 13 aksara. Jika rentetan lebih panjang, ia dipotong kepada 10 aksara diikuti dengan elipsis; jika tidak, rentetan asal dikembalikan.
Mencipta Fungsi Pemangkasan
Untuk penyelesaian yang lebih boleh digunakan semula, anda boleh mencipta fungsi truncate() tersuai:
function truncate($string, $length, $dots = "...") { return (strlen($string) > $length) ? substr($string, 0, $length - strlen($dots)) . $dots : $string; }
Fungsi ini mengambil rentetan asal, panjang yang dikehendaki dan rentetan elipsis pilihan sebagai parameter.
Mengelakkan Pecah Kata
Jika anda ingin mengelak daripada memotong rentetan di tengah perkataan, anda boleh menggunakan fungsi wordwrap() PHP:
function truncate($string, $length=100, $append="…") { //... (omitting other code from previous code snippet) $string = explode("\n", $string, 2); $string = $string[0] . $append; //... (continuing code from previous code snippet) }
Kod ini memastikan rentetan yang dipotong tidak berakhir pada pertengahan perkataan dengan membungkusnya ke sempadan perkataan terdekat sebelum memotong.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memotong Rentetan dengan Cekap dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!