Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Memotong Rentetan dalam PHP kepada Perkataan Terdekat?
Memangkas Rentetan dalam PHP kepada Perkataan Terdekat
Untuk memangkas rentetan di hujung perkataan terakhir sebelum kiraan aksara yang ditentukan, PHP menyediakan beberapa kaedah.
Menggunakan wordwrap Fungsi:
Fungsi wordwrap membahagikan teks kepada berbilang baris dengan lebar maksimum, secara automatik melanggar sempadan perkataan. Dengan hanya mengambil baris pertama, anda boleh memotong teks kepada perkataan terdekat:
$truncated_string = substr($string, 0, strpos(wordwrap($string, $desired_width), "\n"));
Pengendalian Kes Tepi:
Kaedah ini tidak mengendalikan teks yang lebih pendek daripada lebar yang dikehendaki. Untuk itu, gunakan yang berikut:
if (strlen($string) > $desired_width) { $string = substr($string, 0, strpos(wordwrap($string, $desired_width), "\n")); }
Pemotongan Token:
Untuk menyelesaikan isu yang berpotensi dengan baris baharu dalam teks, kaedah ini membahagikan teks kepada token (perkataan , ruang putih dan baris baharu) dan mengumpul panjangnya:
function tokenTruncate($string, $desired_width) { $parts = preg_split('/([\s\n\r]+)/', $string, null, PREG_SPLIT_DELIM_CAPTURE); $length = 0; $last_part = 0; for (; $last_part < count($parts); ++$last_part) { $length += strlen($parts[$last_part]); if ($length > $desired_width) { break; } } return implode(array_slice($parts, 0, $last_part)); }
Kaedah ini juga mengendalikan UTF8 aksara.
Ujian Unit:
class TokenTruncateTest extends PHPUnit_Framework_TestCase { // ... test cases ... }
Nota Tambahan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memotong Rentetan dalam PHP kepada Perkataan Terdekat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!