Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mencipta Slug dengan Cekap daripada Unicode Strings dalam PHP?

Bagaimana untuk Mencipta Slug dengan Cekap daripada Unicode Strings dalam PHP?

Susan Sarandon
Susan Sarandonasal
2024-12-09 10:02:07787semak imbas

How to Efficiently Create Slugs from Unicode Strings in PHP?

Mencipta Slug untuk Rentetan Unikod dalam PHP

Apabila bekerja dengan rentetan Unicode, ia menjadi perlu untuk mencipta slug, yang merupakan rentetan mesra URL mewakili kandungan asal. Proses ini melibatkan transliterasi, mengalih keluar aksara yang tidak diingini dan menukar rentetan kepada huruf kecil.

Melaksanakan Fungsi slugify

Untuk mencipta fungsi slugify dalam PHP, ikut pendekatan ini:

public static function slugify($text, string $divider = '-')
{
  // replace non letter or digits by divider
  $text = preg_replace('~[^\pL\d]+~u', $divider, $text);

  // transliterate
  $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);

  // remove unwanted characters
  $text = preg_replace('~[^-\w]+~', '', $text);

  // trim
  $text = trim($text, $divider);

  // remove duplicate divider
  $text = preg_replace('~-+~', $divider, $text);

  // lowercase
  $text = strtolower($text);

  if (empty($text)) {
    return 'n-a';
  }

  return $text;
}

Contoh Penggunaan

Untuk menggunakan fungsi ini, hanya panggilnya seperti berikut:

$slug = slugify('Andrés Cortez');
echo $slug; // andres-cortez

Ini menyediakan kaedah yang lebih cekap dan ringkas untuk mencipta slug daripada rentetan Unicode, menghapuskan keperluan untuk panjang pengganti.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Slug dengan Cekap daripada Unicode Strings dalam PHP?. 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