Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Memotong Rentetan dalam PHP kepada Perkataan Terdekat?

Bagaimanakah Saya Boleh Memotong Rentetan dalam PHP kepada Perkataan Terdekat?

Linda Hamilton
Lepaskan: 2024-12-23 14:44:13
asal
489 orang telah melayarinya

How Can I Truncate Strings in PHP to the Nearest Word?

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"));
Salin selepas log masuk

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"));
}
Salin selepas log masuk

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));
}
Salin selepas log masuk

Kaedah ini juga mengendalikan UTF8 aksara.

Ujian Unit:

class TokenTruncateTest extends PHPUnit_Framework_TestCase {
    // ... test cases ...
}
Salin selepas log masuk

Nota Tambahan:

  • Kaedah ini bergantung pada sempadan perkataan .
  • Mengendalikan aksara khas seperti emoji atau bahasa lain mungkin memerlukan tambahan pertimbangan.

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!

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