Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Memangkas Rentetan dengan Cekap kepada Panjang Tertentu dalam PHP dan Mengelakkan Pecah Pertengahan Kata?

Bagaimanakah Saya Boleh Memangkas Rentetan dengan Cekap kepada Panjang Tertentu dalam PHP dan Mengelakkan Pecah Pertengahan Kata?

Barbara Streisand
Barbara Streisandasal
2024-12-23 22:30:15214semak imbas

How Can I Efficiently Trim Strings to a Specified Length in PHP and Avoid Mid-Word Breaks?

Memangkas Rentetan dengan Titik dalam PHP: Panduan Komprehensif

Perlu memekatkan rentetan dalam kod PHP anda? Begini cara anda boleh memotong rentetan kepada bilangan aksara tertentu dan menambah elipsis (...) jika aksara dialih keluar.

Penyelesaian Swift:

$string = substr($string, 0, 10) . '...';

Kaedah mudah ini mendapatkan semula sepuluh aksara pertama rentetan, diikuti dengan elipsis jika perlu.

Pendekatan Dioptimumkan:

$string = (strlen($string) > 13) ? substr($string, 0, 10) . '...' : $string;

Versi yang dikemas kini ini termasuk semakan untuk memastikan rentetan yang terhasil adalah panjang yang diingini. Jika rentetan asal melebihi 13 aksara, ia dipotong kepada 10 aksara dan diikuti dengan elipsis. Jika tidak, rentetan asal kekal tidak dipangkas.

Abstraksi Fungsian:

function truncate($string, $length, $dots = "...") {
    return (strlen($string) > $length) ? substr($string, 0, $length - strlen($dots)) . $dots : $string;
}

Fungsi ini merangkum logik pemangkasan, membolehkan anda menggunakannya semula dengan parameter yang berbeza. Ia memerlukan tiga hujah: rentetan untuk dipangkas, panjang yang diingini dan rentetan elipsis pilihan.

Mengelakkan Pecah Pertengahan Kata:

function truncate($string, $length = 100, $append = "…") {
  $string = trim($string);

  if (strlen($string) > $length) {
    $string = wordwrap($string, $length);
    $string = explode("\n", $string, 2);
    $string = $string[0] . $append;
  }

  return $string;
}

Ini dipertingkatkan fungsi menggunakan wordwrap untuk mengelakkan putus rentetan pertengahan perkataan. Jika rentetan lebih panjang daripada panjang yang ditentukan, ia dibalut perkataan dan dipotong pada ruang putih terdekat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memangkas Rentetan dengan Cekap kepada Panjang Tertentu dalam PHP dan Mengelakkan Pecah Pertengahan Kata?. 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