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
Lepaskan: 2024-12-09 10:02:07
asal
789 orang telah melayarinya

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

Contoh Penggunaan

Untuk menggunakan fungsi ini, hanya panggilnya seperti berikut:

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

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!

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