Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menjana Slug Mesra URL daripada String Unicode dalam PHP?

Bagaimana untuk Menjana Slug Mesra URL daripada String Unicode dalam PHP?

Susan Sarandon
Susan Sarandonasal
2024-12-11 12:09:10627semak imbas

How to Generate URL-Friendly Slugs from Unicode Strings in PHP?

Mencipta Slug Mesra URL daripada Rentetan Unikod dalam PHP

Slug ialah bahagian penting dalam struktur URL, menjadikannya mudah untuk diingati oleh pengguna dan menavigasi laman web. Untuk rentetan Unicode, menjana slug boleh mencabar kerana kehadiran aksara khas. Artikel ini meneroka fungsi PHP khusus dalam menukar rentetan Unicode kepada slug mesra URL.

Soalan:

Cara membuat slug daripada rentetan Unicode, seperti menukar "Andrés Cortez" kepada "andres-cortez"?

Jawapan:

Fungsi PHP berikut mengendalikan tugas ini dengan berkesan:

public static function slugify($text, string $divider = '-')
{
  // Replace non-alphanumeric characters with a divider
  $text = preg_replace('~[^\pL\d]+~u', $divider, $text);

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

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

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

  // Lowercase and handle empty strings
  $text = strtolower($text);
  return empty($text) ? 'n-a' : $text;
}

Berdasarkan fungsi yang disediakan, menukar "Andrés Cortez" akan mengembalikan "andres-cortez" sebagai slug mesra URL. Fungsi ini mengendalikan transliterasi, penyingkiran aksara, pemangkasan dan langkah lain yang diperlukan untuk penciptaan slug secara menyeluruh.

Atas ialah kandungan terperinci Bagaimana untuk Menjana Slug Mesra URL daripada String Unicode 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